我正在努力理解这代表什么
var1 = var2 == var3
我的猜测是这等同于:
if (var2 == var3):
var1 = var2
最佳答案
赋值 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引入了新的赋值运算符 :=
,它是一个表达式。
关于python - 如何阅读此 python 代码?变量 1 = 变量 2 == 变量 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52157604/