#函数的定义和调用
def是定义函数的关键字
isPhone 是函数名(自定义)
phone 是参数
函数的调用 函数名(参数)
def isPhone(phone):
#返回值 return (函数的外部)
要通过一个变量去接收函数的调用
不存在值时会返回None
存在参数是会返回具体数据
#func函数名代表函数体 ,也就是函数本身
func()代表函数名的调用,也就是执行后的结果
#函数的参数
func(x,y=2)
必备参数(x)函数定义几个参数就要传几个参数值
默认参数(y)当不给默认参数传值时,为默认值。
不定长参数 (*args,**kwargs)
*args 数据放在元组里面
*kwargs 数据放在字典里面,键只能是字符串类型
args,kwargs 都不是规定写法,但是是规范写法
顺序:必备 参数 不定长参数
->str 指明这个函数返回值是什么数据
func(x,y=2,*args,**kwargs) ->str:
print(x)
print(y)
print(args)
print(kwargs)
return('abc')
#拆包
#闭包
#函数的作用域
global 声明全局变量
nonlocal 声明局部变量
#递归函数
自身调用自身
#匿名函数 (lambda)
匿名函数会自动返回 x是参数
lambda x:x<=50
#过滤函数
filter 第一个是函数体,第二个是可迭代对象
f=filter(func,li)
#map 第一个是函数体,后面一个或多个可迭代对象
#zip 把两个可迭代函数合成一个字典,实现一一对应
#回调函数
把一个函数的函数体当参数传递给另一个函数去使用