python 中的"*"与"**"

时间:2022-11-22 16:30:47

1.Python中 *和**很常见的运算符的用途及其多种使用方式。

本文所述的*和**,指的是*和**前缀运算符,而不是中缀运算符。

所以指的不是乘法和乘幂:

使用*和**将参数传递给函数
使用*和**捕捉传递到函数中的参数
使用*接受强制关键字参数
使用*在元组拆包封期间时捕获各项
使用*将迭代器解解包到列表/元组中
用**把词典解包到其他词典

2.星号在函数调用中解包参数

*运算符lis = ["中国","北京","河南","河北"]
print(*lis)
结果:中国 北京 河南 河北

*运算符在定义函数时,用于收集所有的位置参数到一个新的元组:
**运算符执行类似的操作,但是使用关键字参数。**操作符允许我们取一个键值对字典,并将其在函数调用中解包成关键字参数:
dic={"}
print("{year}-{month}-{day}".format(**dic))
结果:2018-11-11**运算符还有另一面:在定义函数时,可以使用**将赋予该函数的任何关键字参数捕捉到字典中: