我如何阅读此python代码? var1 = var2 == var3

时间:2018-09-04 01:15:08

标签: python

我正在努力理解它代表什么

tabindex

我的猜测是这等同于:

var1 = var2 == var3

4 个答案:

答案 0 :(得分:4)

任务var1 = var2 == var3的工作方式如下:

if var2 == var3:
    var1 = True
else:
    var1 = False

如果在REPL上评估表达式var2 == var3,则根据它们比较相等与否,将得到TrueFalse。在Python中,您可以将任何表达式分配给变量,以便在示例中将结果值分配给var1。

在Python中,a == b是一个表达式,而赋值a = b是一个语句。在许多语言中,两者都是表达式-例如,在Javascript中,您可以这样做(尽管样式不是很好):

a == (b = c)

在Python中是不允许的(SyntaxError):

a == (b = c)

有争议的PEP 572引入了新的赋值运算符:=,它是一个表达式。

答案 1 :(得分:2)

相等运算符==的优先级高于=的分配。因此,这等于:

var1 = (var2 == var3)  # Boolean

==运算符本身将返回TrueFalse;就是分配的这个值。

答案 2 :(得分:2)

var1 = var2 == var3

手段:

  1. 创建一个名为var1

  2. 的变量
  3. 将其分配给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