函数
函数
参数
形参 和 实参:形参不是实际存在,定义函数时,用来接收实参用
位置参数(必须参数):实参必须和形参一一对应
关键字参数:def fun(关键字一,关键字二)
fun(关键字2= 实参1,关键字1 = 实参2)
默认参数:def fun(关键字一,关键字二 = ‘male’) 用的时候直接 fun(实参1) 若想改则 fun(实参1, ‘female’)
注意:默认参数要在非默认参数的后面,否则报错
不定长参数:def(*args) *args接收无命名的参数
print(args) # *args是都默认这么写 *任意 例如*abc也是这个功能,其实*就是类似于通配符的作用
def(**kwargs) **kwargs接收 关键字1 = 实参2 类型的参数
1 def print_info(**kwargs): 2 for i in kwargs: 3 print(i,kwargs[i]) 4 print_info(a=1,b=2,c=3)
i是键 kwargs是所有的值 要取i对应的值: kwargs[i] 即可
优先级:def(name,age=22,*args,**kwargs) 必须参数(又叫关键参数,默认参数,不定长参数(元组),不定长参数(字典))
return返回值 1.结束函数 2返回某个对象给调用者即func() 例如 return 10,则func()=10, print(func())>>>10
注意:1.不写return则默认return None
2.return 10,’abc',[1,2,3] 会封装成 一个元组返回,需要print(函数名())才能看到返回对象,不打印看不到
高阶函数:1函数名相当于一个变量,函数名可以赋值例func = foo。2 函数名相当于一个变量,可以作为其他函数的参数,还可以作为返回值(另外,函数运行的结果也可以作为返回值,不过这种不常用)。
1 def f(): 2 def g(): 3 return 8 4 return g 5 print(f()) 6 #得到<function f.<locals>.g at 0x0000000002801840> 7 8 def f(): 9 def g(): 10 return 8 11 return g() 12 print(f()) 13 #得到8
递归函数:递归都可以通过循环来解决。递归效率很低,不推荐用

浙公网安备 33010602011771号