当前位置: 首页 > 面试题库 >

对三个对象使用“ ==”运算符

裴俊能
2023-03-14
问题内容

这两种检查三个对象之间相等性的方法之间在计算上有区别吗?

我有两个变量xy。说我这样做:

>>> x = 5
>>> y = 5
>>> x == y == 5
True

不同于:

>>> x = 5
>>> y = 5
>>> x == y and x == 5
True

如果他们False呢?

>>> x = 5
>>> y = 5
>>> x == y == 4
False

和:

>>> x = 5
>>> y = 5
>>> x == y and x == 4
False

它们的计算方式有何不同?

此外,如何x == y == z运作?

提前致谢!


问题答案:

Python具有链式比较,因此这两种形式是等效的:

x == y == z
x == y and y == z

除了在第一个中,y仅被评估一次。

这意味着您还可以编写:

0 < x < 10
10 >= z >= 2

等等。您还可以编写令人困惑的内容,例如:

a < b == c is d   # Don't  do this

初学者有时会被绊倒:

a < 100 is True   # Definitely don't do this!

由于与以下内容相同,因此始终为假:

a < 100 and 100 is True   # Now we see the violence inherent in the system!


 类似资料:
  • 我有一个检查两个变量引用的代码,我遇到了这个有点混乱的情况: 结果是: 我的第一个问题是为什么第一个和第三个引用相等?如果第三个变量等于第二个变量,它应该是,因为它们的对象引用不相等。 当我将值更改为时,我感到困惑,如下所示: 然后结果变成: 为什么会这样?

  • 因为不直接修改 state 是 Redux 的核心理念之一, 所以你会发现自己总是在使用 Object.assign() 创建对象拷贝, 而拷贝中会包含新创建或更新过的属性值。在下面的 todoApp 示例中, Object.assign() 将会返回一个新的 state 对象, 而其中的 visibilityFilter 属性被更新了: function todoApp(state = init

  • 我用一个字段构造了一个类。然后创建了两个对象,并且必须使用运算符和对它们进行比较。以下是我所做的:

  • 本文向大家介绍创建一个对象用什么运算符?对象实体与对象引用有何不同?相关面试题,主要包含被问及创建一个对象用什么运算符?对象实体与对象引用有何不同?时的应答技巧和注意事项,需要的朋友参考一下 new运算符,new创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。 一个对象引用可以指向0个或1个对象(一根绳子可以不系气球,也可以系一个气球); 一个对象可以有n个引用

  • 我有一个函数可以给传入的对象添加一个键,但是我被告知要使用spread运算符,我被告知可以使用spread运算符创建一个具有相同属性的新对象,然后在它上面设置isAvailable。 所以我试过这样的方法,但是不能成功,你能帮我吗?和困惑,我应该这样使用spread运算符,从一个函数返回?

  • 有可能使用@Configurable类那 我知道用@Autowired和@Resource等是可能的...还有其他的吗? 如。 然后像这样 除了能够使用<code>new</code>操作符创建<code>MyObj</code>并仍然让spring处理注释之外,还有其他选择吗? ——编辑: 在使用@Autowired时,可以使用来做到这一点,看看一些带有Spring和AOP的Hibernate和

  • 问题内容: 我建立了一个领域的课程。然后,我创建了两个对象,我也必须使用运算符对其进行比较。这是我所做的: 问题答案: 比较对象引用,它检查两个操作数是否指向同一对象(不是等效对象,是同一对象)。 如果要比较字符串(以查看它们是否包含相同的字符),则需要使用来比较字符串。 在你的情况下,如果字符串匹配,则确实将两个居中实例视为相等,则: …但是通常,如果你要定义一个类,那么等效性要比单个字段的等效

  • 问题内容: 我正在阅读Kathy Sierra和Bert Bates编写的SCJP Java 6,这本书让我非常困惑。在第245页上,他们声明以下代码。 然后在下一页上,它们具有以下代码 我很困惑!当我自己尝试该方法时,似乎无法使用==来比较使用equals()方法的方式。即使Integer变量设置为相同的值(即10),使用==总是给我’false’。我对么?使用==比较相同的Integer对象(