python之函数
函数定义
通过关键字def定义函数
def name(args...):
todo
return 返回值 // 非必需
函数的参数
必传参数:函数中定义参数没有默认值,在调用函数时如果不传入则报错
def add(a,b):
return a+b
默认参数:在定义函数时,定义的参数含有默认值,通过赋值语句给它一个默认值
def add(a,b=1): //b默认参数
return a+b
不确定参数(可变参数):没有固定的参数名和数量
// *args 代表将无参数的值合并成元组
// **kwargs 代表将有参数与默认值的语句合并成字典
def add(*args,**kwargs):
add(1,2,3,name='t',age=12) //*args 对应1,2,3
//**kwargs 对应name='t',age=12
参数规则
一般从左到右依次是必传参数,默认参数,可变元组参数,可变字典参数
参数定义类型(python3.7之后可用)
def add(a:int,b:int=1):
return a+b
全局变量和局部变量
全局变量:在python脚本最上层代码块的变量,可以在函数内被读取使用
局部变量:在函数体内定义的变量
global:在函数体内给全局变量重新赋值(工作中不建议使用)
name = 't'
def test():
global name
name = 'm'
函数递归:一个函数反复不停的执行
def test(a):
print(a)
return test(a)
匿名函数
//无参
f = lambda : value
f()
// 有参数
f = lanbda x,y:x*y
f(3,4)