7.1 可接受任意数量参数的函数
def get_attr(first, *args):
print(*args)
7.2 只接受关键字参数的函数
def get_attr(first, *args, k, **kwargs):
print(k)
get_attr(1, 'halo', 'halo2', k=2, w=3, d=4)
7.3 给函数参数增加元信息
def add(x: int, y: int) -> int:
return x + y
7.4 返回多个值的函数
def add():# 返回元组
return 1, 2, 3
a, b, _ = add() # 元组拆包
7.5 定义有默认参数的函数
def add(i=4):
return 1, 2, i
7.6 定义匿名函数
names = ['David Beazley', 'Brian Jones', 'Raymond Hettinger', 'Ned Batchelder']
sorted(names, key=lambda name: name.split()[-1].lower())
7.7 匿名函数捕获变量值
在运行时而非定义时捕获