如何阅读此python代码?var1=var2==var3
我正在努力理解这代表着什么如何阅读此python代码?var1=var2==var3,python,Python,我正在努力理解这代表着什么 var1 = var2 == var3 if (var2 == var3): var1 = var2 我猜这相当于: if (var2 == var3): var1 = var2 赋值var1=var2==var3的工作原理如下: if (var2 == var3): var1 = var2 if var2 == var3: var1 = True else: var1 = False 如果您在REPL上计算表达
var1 = var2 == var3
if (var2 == var3):
var1 = var2
我猜这相当于:
if (var2 == var3):
var1 = var2
赋值
var1=var2==var3
的工作原理如下:
if (var2 == var3):
var1 = var2
if var2 == var3:
var1 = True
else:
var1 = False
如果您在REPL上计算表达式var2==var3
,您将得到True
或False
,具体取决于它们是否相等。在Python中,您可以将任何表达式分配给变量,因此在您的示例中,结果值将分配给var1
if (var2 == var3):
var1 = var2
在Python中,a==b是一个表达式,而赋值a=b
是一个语句。在许多语言中,这两种语言都是表达式——例如在Javascript中,您可以这样做(尽管不是很好的样式):
if (var2 == var3):
var1 = var2
在Python中不允许这样做(SyntaxError):
if (var2 == var3):
var1 = var2
争论引入了新的赋值运算符
:=
,这是一个表达式。等式运算符=
优先于=
赋值。因此,这相当于:
if (var2 == var3):
var1 = var2
var1 = (var2 == var3) # Boolean
=
运算符本身将返回True
或False
;分配的就是这个值
if (var2 == var3):
var1 = var2
var1 = var2 == var3
指:
if (var2 == var3):
var1 = var2
var1
if (var2 == var3):
var1 = var2
var2
等于var3
(使用=
运算符)if (var2 == var3):
var1 = var2
下面是一个例子:
if (var2 == var3):
var1 = var2
>>> var2=1
>>> var3=1
>>> var2==var3
True
>>> var1 = var2==var3
>>> var1
True
>>>
你的假设是错误的。您发布的代码如下:
if (var2 == var3):
var1 = var2
var2 = 1
var3 = 1
var1 = var2 == var3
#var1 is true because var2 and var3 are equal
第一个将返回
true
或false
,而var1
将表示此结果。不,它根本不等同于此结果。它将var2==var3
的结果分配给var1
啊,比我强:)@ViaTech这也经常发生在我身上,