展开/扩展操作符 *
和 **
在 Python 版本间(2.7、3.x < 3.5 和 3.x >= 3.5)的适用性差异很大。
例如:
| 2.7 | 3.1-3.4 | 3.5
----------------------------------------------------------------------
function(*args) ✓ ✓ ✓
x, *y, z = [1, 2, 3, 4, 5] x ✓ ✓
{**x, **y} x x ✓
我错过了各种版本之间的任何其他不同点吗? 我正在查看PEP和Readmes,但文档在这方面并不详细。
max(*(1,2,3))
这样的。 - Chris_Randsmax((1, 2, 3, 4))
就能正常工作。因此,使用明确的*解包(unpacking)*有什么优势呢? - kmario23max()
和min()
可以处理可迭代对象和单个参数,但那只是Chris举的一个例子。 - Ashwini Chaudhary