Python编码说明

时间:2016-04-07 17:04:02

标签: python

我很难理解这行Python代码。 如果有人能向我澄清,我将不胜感激。

x = y == z

x = y if y == z吗?

谢谢

7 个答案:

答案 0 :(得分:2)

假设你有:

div:hover {}
输入时

y = 7
z = 7

你创建一个名为x = y == z 的变量,它引用一个布尔表达式(x) ,此布尔表达式的值为y == zTrue。因此False值为x

True

但如果你有:

>>> x = (y == z)
>>> x
>>> True

然后y = 7 z = 3 将为x

答案 1 :(得分:2)

y == z是一个表达式。现在您可能知道可以使用if y == z:那是因为if ...执行其套件,如果...是真实的 1 。现在y == z没什么特别的。它评估为TrueFalse 2 。在x = y == z的情况下,我们将该表达式的结果分配给x。因此,x将为TrueFalse 2

1 truthy值是一个布尔值为True的值。示例包括非空列表,非空字符串,非空元组,非零数字,非空字典,True等。
2 正如Kay在另一篇文章的评论中提到的,实际上 并不是TrueFalsey == z通常只是y.__eq__(z)的捷径。 x的结果通常是TrueFalse,但__eq__可以返回任意内容。

答案 2 :(得分:1)

相当于

x = (y == z)

答案 3 :(得分:0)

这意味着您将bool值分配给x,这是比较yz的结果。

答案 4 :(得分:-1)

这将x的值设置为测试y == z的布尔结果。因此,如果y = 1且z = 1,x的值将为True

答案 5 :(得分:-1)

Python的解释器如下所示:

(i) x = y == z

首先,它看到了赋值,这意味着它必须评估右侧。

(ii) y == z

此声明评估为TrueFalse

最后x = result of (ii)

在文字中,第x = y == z行在x中存储yz均衡的结果。

答案 6 :(得分:-1)

将y与z进行比较,并将结果设置为x。因此,如果y和z相等,则x为真,否则为假。