可以理解,仅在元组/列表之间可以进行元组的拆包,因此
x,*y = (1,2,3,4)
已验证。但是,如果我们尝试对单个变量进行解压缩
*x = (1,2,3,4,5)
因为x不是列表/元组,所以我们收到错误,因此无法进行拆包。如果是这种情况,那么我们如何使用* args在函数中具有多个参数
def max(* args):
for x in args:
print(x)
所以在这里,如果我叫max(1,2,3,4)。我们不应该出错吗,因为* args不是元组,因此我们无法解包?
值得注意的是,参数列表的括号始终包含一个元组。它们是您不能忽略的括号。因此,它们不会与操作员优先级括号混淆
顺便说一句,有趣的事:写(在x之后注意逗号)
*x, = (1,2,3,4,5)
然后它就起作用了,就像您需要在方括号中添加逗号以使其成为元组一样。像(1)不是元组,但是(1,)是
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句