Py学习  »  Python

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

Phoenix Holmes • 5 年前 • 1722 次点击  

我在努力理解这代表着什么

var1 = var2 == var3

我想这相当于:

if (var2 == var3):
     var1 = var2
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38836
 
1722 次点击  
文章 [ 4 ]  |  最新文章 5 年前
ViaTech
Reply   •   1 楼
ViaTech    6 年前

你的假设是错误的。您发布的代码是:

var2 = 1
var3 = 1

var1 = var2 == var3

#var1 is true because var2 and var3 are equal 
user2864740
Reply   •   2 楼
user2864740    6 年前

相等运算符 == 优先于 = 转让。所以这等于:

var1 = (var2 == var3)  # Boolean

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

U10-Forward
Reply   •   3 楼
U10-Forward    6 年前
var1 = var2 == var3

手段:

  1. 创建一个名为 var1

  2. 将它赋给真-假布尔值,即 var2 等于 var3 (使用 == 操作员)

下面是一个例子:

>>> var2=1
>>> var3=1
>>> var2==var3
True
>>> var1 = var2==var3
>>> var1
True
>>> 
Paulo Scardine
Reply   •   4 楼
Paulo Scardine    6 年前

任务 var1 = var2 == var3 更像这样工作:

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

如果计算表达式 var2 == var3 收到回复后 True False 取决于它们是否相等。在python中,可以将任何表达式赋给变量,以便在示例中将结果值赋给var1。

在巨蟒中 a == b 是表达式,而不是赋值 a = b 是一个陈述。在许多语言中,这两种语言都是表达式-例如,在JavaScript中,允许您这样做(尽管样式不是很好):

a == (b = c)

在python中不允许(syntaxerror):

A==(B=C)

争议 PEP 572 介绍新的分配运算符 := 这是一个表达。