Python中*和**的使用

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}

 

 

 

posted @ 2020-01-25 17:15  wbz_blogs  阅读(5322)  评论(0)    收藏  举报