1.函数加强
1. 打包
函数定义的时候
按位置参数打包,使用 *args 打包所有的位置参数为一个元组
按关键字参数打包, 使用 **kwargs 打包所有的关键字参数为一个字典
什么时候使用打包: 不确定参数的数量的时候
def 函数名(*args,**kwargs):
pass
def sum(*agrs):
add = 0
for i in agrs:
add += i
return add
a = sum(1, 2, 3, 4, 5, 6, 7, 8, 9)
print(a)
def info(**kwages):
for k, v in kwages.items():
print(k, v)
info(name="张飞", sex="男", age=18)
2. 拆包
函数调用的时候
特点的情况
按位置参数进行拆包, 如果 元组/列表/字典.values() 中数据的顺序和实际参数的顺序是一致的时候,
就可以使用 *元组/列表/字典.values() 进行拆包传递给函数作为实际参数, 好处是不用依次从容器中取.
按关键字参数进行拆包, 如果字典中的键就是关键参数的名字, 使用 **字典 对字典进行拆包传递给函数作为实际参数.
函数名(*元组/列表/字典.values())===>函数名(元素1,元素2....)
函数名(**字典) ===>函数名(键=值.