python3 函数注意要点
一、定义一个函数:
1 def test(): #用def关键词开头 2 print('*****') 3 4 def test2(a,b): #a,b为形参 5 print(a,b) 6 return a,b # return 返回方法运行的结果 可以是返回函数、元组、字符串、列表、字典等;返回后,得到一个元组
7 test2(1,2) # 回调函数
二、需要注意的地方:
回调时带参数的关键点:
def定义函数的时候,括号里面的变量叫形参,引用内存空间;
调用函数的时候,括号里面的变量叫实参,内存数据;
形如(variable1,variable2),叫位置参数;
形如(variable1=value1,variable2=value2),叫关键字参数;
关键字参数一定要在位置参数后面;
没特别指明,形参和实参必须一一对应,多一个少一个都报错;
全局变量与局部变量:
函数体外定义的变量称为全局变量,在函数体内也生效,前提是先定义全局变量,后定义函数;
函数体内定义的变量称为局部变量,只在当前函数体内生效;
非固定参数,当传入的参数不确定个数的时候:
非固定参数*args,传入的参数变成元组,元组可为空;
非固定参数**kwargs,传入的参数变成字典;
*args与**kwargs可同时使用
嵌套函数,函数中调用函数,但是只能调用同级的函数,不能隔级调用
递归函数
***必须有一个明确的结束条件
每递归一次,问题规模比上一次都应有减少
效率不高,下面这个越到后面效率越低
匿名函数:高阶函数,变量指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。