我试图找到一个解释 这个,Gotcha部分:
b = "1984"
a = b, c = "AB"
print(a, b, c)
收益:
('AB', 'A', 'B')
我理解多个等于会发生什么:
a = b = 1
但是将它与逗号一起使用,我无法理解为什么它以这种方式工作的行为,想法?
我试图找到一个解释 这个,Gotcha部分:
b = "1984"
a = b, c = "AB"
print(a, b, c)
收益:
('AB', 'A', 'B')
我理解多个等于会发生什么:
a = b = 1
但是将它与逗号一起使用,我无法理解为什么它以这种方式工作的行为,想法?
答案是
a = b, c ="AB"
表现如下:
a = (b, c) = "AB"
这就是为什么:
a = "AB" and b = "A" and c = "B"
答案是
a = b, c ="AB"
表现如下:
a = (b, c) = "AB"
这就是为什么:
a = "AB" and b = "A" and c = "B"
a = b,c =“AB”
不会像你认为的那样解释。你确实有一个多重赋值,但它不是a = b和c =“AB”。它是c,b =“AB”和a =“AB”。在python中
x = y = z = 1
被解释为x,y和z被赋值为1.并且逗号用于将值列表解包为单个变量,因此b,c =“AB”将“AB”解包为“A”和“B”。所以在这一行的最后,
a = b,c =“AB” a ==“AB” b ==“A” c ==“B”
这归结为操作顺序,第2行实际上是两个不同的陈述。
a = b
先完成。然后
b, c = "AB"
这是解包“AB”的值并将“A”分配给b而“B”分配给c。