我正在努力理解它代表什么
tabindex
我的猜测是这等同于:
var1 = var2 == var3
答案 0 :(得分:4)
任务var1 = var2 == var3
的工作方式如下:
if var2 == var3:
var1 = True
else:
var1 = False
如果在REPL上评估表达式var2 == var3
,则根据它们比较相等与否,将得到True
或False
。在Python中,您可以将任何表达式分配给变量,以便在示例中将结果值分配给var1。
在Python中,a == b
是一个表达式,而赋值a = b
是一个语句。在许多语言中,两者都是表达式-例如,在Javascript中,您可以这样做(尽管样式不是很好):
a == (b = c)
在Python中是不允许的(SyntaxError):
a == (b = c)
有争议的PEP 572引入了新的赋值运算符:=
,它是一个表达式。
答案 1 :(得分:2)
相等运算符==
的优先级高于=
的分配。因此,这等于:
var1 = (var2 == var3) # Boolean
==
运算符本身将返回True
或False
;就是分配的这个值。
答案 2 :(得分:2)
var1 = var2 == var3
手段:
创建一个名为var1
将其分配给var2
等于var3
的True False布尔值(使用==
运算符)
这是一个例子:
>>> var2=1
>>> var3=1
>>> var2==var3
True
>>> var1 = var2==var3
>>> var1
True
>>>
答案 3 :(得分:1)
您的假设不正确。您发布的代码是这样的:
var2 = 1
var3 = 1
var1 = var2 == var3
#var1 is true because var2 and var3 are equal