考虑一下这些表达方式......请耐心等待...这是一个很长的清单......
(注意:重复一些表达式 - 这只是为了呈现"上下文")
a, b = 1, 2 # simple sequence assignment
a, b = ['green', 'blue'] # list asqignment
a, b = 'XY' # string assignment
a, b = range(1,5,2) # any iterable will do
# nested sequence assignment
(a,b), c = "XY", "Z" # a = 'X', b = 'Y', c = 'Z'
(a,b), c = "XYZ" # ERROR -- too many values to unpack
(a,b), c = "XY" # ERROR -- need more than 1 value …Run Code Online (Sandbox Code Playgroud) 我知道解包元组的规范方法是这样的
a, b, c = (1, 2, 3)
# or
(a,b,c) = (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
但注意到你可以像这样解包一个元组
[a, b, c] = (1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
由于某种类型的演员表或列表构造,第二种方法是否会产生任何额外费用?有没有办法检查 python 解释器如何处理这个类似于从编译器查看程序集?