我冒险进入巨蟒,我有一个关于星号的问题。我知道它们用于函数调用中的参数,但我看到了在函数卡之外使用它们的代码片段(例如,在5个级别的元组中,将它们解压缩为变量,如:
first, *middle, last = grades
每当我试图在这个上下文/上下文中从函数调用的参数中使用星号时,解释器中的语法就会无效。我是不是漏掉了什么?
发布于 2013-06-11 13:53:57
Python3增加了扩展元组解压缩功能,支持一个通配符,请参阅PEP 3132
*start, tail = ...
head, *middle, tail = ...请参阅assignment statements参考文档:
如果目标列表包含一个以星号为前缀的目标,称为“星号”目标:该对象必须是一个序列,其项至少与目标列表中的目标一样多,减去一个。序列的第一项从左到右分配给星目标之前的目标。序列的最后项被分配给在星目标之后的目标。然后将序列中剩余项的列表分配给星型目标(列表可以是空的)。
在赋值的左边(目标列表)使用asterix是Python 2中的语法错误。
https://stackoverflow.com/questions/17045816
复制相似问题