c语言sscanf函数的用法是什么
234
2022-11-28
【从零学Python_1.5】自定义函数和类
函数格式:
def 函数名 ( 参数 ) : 函数体
# 自定义函数def func(a, b): return a + b# 调用函数func(1, 2)
函数参数:
参数类型:
可变类型参数:在函数内部对传入参数的修改会影响到外部变量。不可变类型参数:在函数内部对传入参数的修改不会影响到外部变量。
def func1(num): num * 10num1 = 10func1(num1)print(num1) # 10def func2(lst): lst[0] *= 10lst1 = [10]func2(lst1)print(lst1[0]) # 100
默认参数:
设置默认参数时,必选参数在前,默认参数在后
def func3(num1, num2=10): print(num1 + num2)func3(1, 2) # 3func3(1) # 11
可变参数:
可变参数/不定长参数,可以输入任意个参数,在函数内作为元组Tuple使用
def func4(*nums): sum = 0 for num in nums: sum += num return sumprint(func4(1, 2, 3)) # 6print(func4(1, 2, 3, 4)) # 10
关键字参数:
指定参数名传参,不一定按固定顺序
def func5(name, age): print(name, age) func5(age=18, name="XiaoMing")
函数返回值:
函数都有返回值,默认返回None
匿名函数:
Lambda表达式
func6 = lambda a, b: a + bprint(func6(1, 2)) # 3
类格式:
class 类名(基类):
默认自动继承object类。
class TestClass: name = "Test Class"# 实例化test = TestClass()print(test.name)
类的属性:
公有属性:在类中和类外都可以调用,属性默认为公有属性;私有属性:只能在类内调用,属性命名以双下划线"__"开始;内置属性:系统自带属性,以双下划线开头,且以上下划线结尾。
类的函数:
公有函数:可以在类内调用,也可以外部通过实例调用,函数默认为公有函数;私有函数:只能在类内调用,函数命名以双下划线"__"开始;类函数:可以在外部通过类名或实例调用,被classmethod函数调用,或使用@classmethod修饰;静态函数:可以类内调用,也可以在外部通过类名或实例调用,被staticmethod函数调用,或使用@staticmethod修饰,不需要self语句。
class TestClass: publicname = "PublicName" __privatename = "PrivateName" def testfunc1(self): print(self.publicname) def testfunc2(self): print(self.__privatename) def __testfunc3(self): print(self.publicname) def __testfunc4(self): print(self.__privatename) def testfunc55(self): print(self.publicname) testfunc5 = classmethod(testfunc55) @classmethod def testfunc6(cls): print(cls.publicname) def testfunc77(): print("static func") testfunc7 = staticmethod(testfunc77) @staticmethod def testfunc8(): print("static func") testfunc7() testfunc8()# 实例调用testclass = TestClass()print(testclass.publicname)testclass.testfunc1()testclass.testfunc2()testclass.testfunc5()testclass.testfunc6()testclass.testfunc7()testclass.testfunc8()# 类名调用TestClass.testfunc5()TestClass.testfunc6()TestClass.testfunc7()TestClass.testfunc8()
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~