我知道它扩展了函数参数,但是如果我在python 2中尝试类似的方法:
x = [1,2,3] print *x # SyntaxError: invalid syntax print [*x] # SyntaxError: invalid syntax
所以我似乎错过了一些关于*具体做什么的事情?
这个 * 运算符,将序列/iterable(例如,list或tuple)中的元素解包为函数的位置参数
*
在python2上, print 是语句而不是函数。所以从将来导入打印功能,以便使用 * 将列表元素解包为参数的运算符
print
>>> from __future__ import print_function >>> print (*x) 1 2 3
在python3上, 打印 是一个函数。所以你可以用 * 直接接线员
打印
>>> print (*x) 1 2 3