我很难理解这行Python代码。 如果有人能向我澄清,我将不胜感激。
x = y == z
是x = y if y == z
吗?
谢谢
答案 0 :(得分:2)
假设你有:
div:hover {}
输入时:
y = 7
z = 7
你创建一个名为x = y == z
的变量,它引用一个布尔表达式(x
)
,此布尔表达式的值为y == z
或True
。因此False
值为x
。
True
但如果你有:
>>> x = (y == z)
>>> x
>>> True
然后y = 7
z = 3
将为x
。
答案 1 :(得分:2)
y == z
是一个表达式。现在您可能知道可以使用if y == z:
那是因为if ...
执行其套件,如果...
是真实的 1 。现在y == z
没什么特别的。它评估为True
或False
2 。在x = y == z
的情况下,我们将该表达式的结果分配给x
。因此,x
将为True
或False
2 。
1 truthy值是一个布尔值为True
的值。示例包括非空列表,非空字符串,非空元组,非零数字,非空字典,True
等。
2 正如Kay在另一篇文章的评论中提到的,实际上 并不是True
或False
。 y == z
通常只是y.__eq__(z)
的捷径。 x
的结果通常是True
或False
,但__eq__
可以返回任意内容。
答案 2 :(得分:1)
相当于
x = (y == z)
答案 3 :(得分:0)
这意味着您将bool值分配给x
,这是比较y
和z
的结果。
答案 4 :(得分:-1)
这将x
的值设置为测试y == z
的布尔结果。因此,如果y = 1且z = 1,x
的值将为True
。
答案 5 :(得分:-1)
Python的解释器如下所示:
(i) x = y == z
首先,它看到了赋值,这意味着它必须评估右侧。
(ii) y == z
此声明评估为True
或False
。
最后x = result of (ii)
。
在文字中,第x = y == z
行在x
中存储y
和z
均衡的结果。
答案 6 :(得分:-1)
将y与z进行比较,并将结果设置为x。因此,如果y和z相等,则x为真,否则为假。