函数的种类
传参的基本要求
默认参数 *args 关键字参数 **kwargs 普通函数 带参数 默认参数 def text(a,b=2) print("haha") print(a) print(b) ret = text(1) print(ret) 关键字参数 a=1 def text1(a,b,m): print(a) print(b) print(m) ret = text1(m=2,a=1,b=3) 可变参数 *args def text2(a,*args): print(a) print(args) ret = text2(1,3,5,8) 字典参数 **kwargs def text3(a,b,**kwargs): print(a) print(b) print(kwargs) ret = text3(a =1,b =2,c=5,d=8,f=10) 递归函数 最大调用深度为1000次(中包含了入口函数) 满足递归函数的条件 a.必须有结束条件的标识 b.自己调用自己 创建 def sum1(num): if num == 1: return 1 return sum1(num-1) + num 调用 ret = sum1(10) print(ret)
# 匿名函数 # 方式一 add = lambda a, b: a + b print(add(3, 4)) # 方式二 #add = (lambda a,b:a+b) (3,4) add = (lambda a, b: a + b)(3, 4) print(add) # 参数 # 无参数 add = (lambda:100)() print(add) # 多个返回值需要手动组包 # f1,f2 = lambda:3,4() 此为lambda未组包的表达式需要手动组包后才能往下进行 f1, f2 = (lambda: (3, 4))() print(f1) print(f2) # 存储模型 f4 = (lambda: ())() f5 = (lambda: (i for i in range(10)))() f6 = (lambda: [i for i in range(10)])() f7 = range(10) print(f4,f5,f6,f7)