我正在尝试以下代码:
In [16]: a,b = 1,2
Run Code Online (Sandbox Code Playgroud)
上面按预期方式将1分配给a,将2分配给b,并且没有错误消息:
In [18]: a
Out[18]: 1
In [19]: b
Out[19]: 2
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将它们进行比较:
In [17]: a,b == 1,2
Out[17]: (1, False, 2)
Run Code Online (Sandbox Code Playgroud)
我得到3个输出。问题出在哪里,或者这三个输出是什么意思?
这里没有问题。像这样评价
(a, (b == 1), 2)
Run Code Online (Sandbox Code Playgroud)
三个值的元组。
在Python中,如果元组具有多个元素,则不必在圆括号中添加该元组。因此,按照Python语法,这被视为元组。这记录在这里,
除非列表或集合显示的一部分,否则包含至少一个逗号的表达式列表会产生一个元组。元组的长度是列表中表达式的数量。表达式从左到右计算。
...
仅需使用尾部逗号才能创建单个元组(也称为单例);在所有其他情况下,它都是可选的。没有尾随逗号的单个表达式不会创建元组,而是会产生该表达式的值。(要创建一个空的元组,请使用一对空的括号:()。)
要实现您想要的目标,您需要这样做
(a, b) == (1, 2)
Run Code Online (Sandbox Code Playgroud)