首页 > 解决方案 > 如何阅读此 Python 代码?var1 = var2 == var3

问题描述

我很难理解这代表什么

var1 = var2 == var3

我的猜测是,这相当于:

if (var2 == var3):
     var1 = var2

标签: python

解决方案


作业var1 = var2 == var3更像这样:

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

如果您评估var2 == var3REPL 上的表达式,您将得到TrueFalse取决于它们是否相等。在 Python 中,您可以将任何表达式分配给变量,以便在您的示例中将结果值分配给 var1。

在 Pythona == b中是一个表达式,但赋值a = b是一个语句。在许多语言中,两者都是表达式 - 例如在 Javascript 中,您可以这样做(虽然不是很好的风格):

a == (b = c)

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

a == (b = c)

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


推荐阅读