用法:
必选参数
默认参数
可变参数
关键字参数
'''
#可变参数
def sum(*b):
res=0
for i in b:
res+=i
print(res)
sum(1,2,3,4,5)
#关键字参数
def fn(**info):
print(info)
fn(name='小白',sex='男',age=18)
#返回值:终止函数and给函数一个返回值以便再函数外部使用
# 高阶函数
'''
函数的返回值或实参使另外一个函数,这个函数就成为高阶函数 #定义
分类:
返回值高阶函数
实参高阶函数
'''
# 闭包
# 递归
def fn(a,b):
return a*b
def c(a,b,fn):
res=fn(a,b)
print(res)
c(2,5,fn) #实参高阶函数
def fun():
def newfun():
print('hahah')
return newfun
newfun=fun
newfun()
#闭包
#定义:两个嵌套关系的函数,内层函数使用外层的变量,在全局中调用内层函数,此刻形成了闭包
#作用域
#全局作用域 局部作用域
#递归
#自己调用自己
def jiec(num):
if num==1:
return 1
return num*jiec(num-1)
print(jiec(3))