1、在定义函数的时候,*:接收到的参数会形成一个元组,**:接收到的参数会形成一个字典。如下代码。
其中args接收必须参数:1, 2, 3, 4,形成元组。kwargs接收关键字参数:a=5, b=6, c=7, d=8,形成字典。
def func(*args, **kwargs):
print(args, end=" ")
print(kwargs)
pass
func(1, 2, 3, 4) # 输出结果是:(1, 2, 3, 4) {}
func(1, 2, 3, 4, a=5, b=6, c=7, d=8) # 输出结果是:(1, 2, 3, 4) {'a': 5, 'b': 6, 'c': 7, 'd': 8}
2、在定义函数的时候,参数中间使用*,则*号之后的参数必须是关键字参数。
def func1(a, b, *, c, d): pass func1(1, 2, c=3, d=4)
3、字典合并
# 合并字典 dict1 = {'a': 1, 'b': 2} dict2 = {'c': 3, 'd': 4} dict3 = {'e': 5, 'f': 6} dict1.update(dict2) print(dict1) # 输出结果是:{'a': 1, 'b': 2, 'c': 3, 'd': 4} print({**dict1, **dict3}) # 输出结果是:{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}