Python中 *和**很常见。无论是对于编程萌新还是许多从其他编程语言(可能无与之完全等效的运算符)迁移过来的的人,这两个运算符有时可能有点儿神秘。在此,我想详述这些运算符的用途及其多种使用方式。
这些年来,和**运算符的本领越来越大,我将讨论当前这些运算符的所有使用方式,并标注哪些用途仅适用于Python的现代版本。所以,如果您在Python 2时代就学会了和**,我还是建议您至少浏览一下这篇文章,因为Python 3为这些运算符添加了很多新用途。
如果您初学Python,还不熟悉关键字参数(又名命名参数),那么我建议先阅读我的关于Python关键字参数的文章。
不在本文详述范围内的内容:
本文所述的和**,指的是和**前缀运算符,而不是中缀运算符。
所以指的不是乘法和乘幂:
本文所述之内容:
我们讲的是和**前缀运算符,即在变量前面使用的和**运算符。例如:
这包括:
-
使用*和**将参数传递给函数
-
使用*和**捕捉传递到函数中的参数