目录
函数的定义和作用
def 函数名(o个或多个参数):
函数体
return 返回值
-函数是一段代码的表示
-函数是一段具有特定功能的、可重用的语句组
-函数是一种功能的抽象,一般函数表达特定功能
两个作用:降低编程难度和代码重用
函数的调用
4.2 函数的参数传递
可选参数传递
函数定义时可以为某些参数定义默认值,构成可选参数。
def test(n,m=1): #m为可选参数
s = 1
for i in range(1,n+1):
s *= i
print(s//m)
test(10)
test(10,2)
结果:
可变参数传递
def test(n,*args):#args为可变参数,也可以命名其他值
s = 1
for i in range(1,n+1):
s += i
for item in args:
s += item
print(s)
test(10,3)
test(10,3,1,5)
函数执行结果:
参数组合:*args和**kwargs
def test(*args,**kwargs):
print("args =",args)
print("kwargs =",kwargs)
print("----------------------------------")
if __name__ == '__main__':
test(1,5,94,564)
test(a=1,b=2,c=3)
test(1,2,3,4,a=1,b=2,c=3)
test('I love python',1,None,a=1,b=2,c=3)
函数执行结果:
参数传递的两种方式:位置传递和名称传递
小结:
函数可以有参数也可以没有,但必须保持括号。*args
是可变参数,args
接收的是一个tuple
;**kw
是关键字参数,kw
接收的是一个dict。
在同时使用*args和**kwargs时,必须*args参数列要在**kwargs前面。