为什么在单值变量和列表的情况下运算符'is'表现不同?

时间:2019-03-25 07:56:51

标签: python

在下面的程序中,我正在测试两种情况下的“是”。情况1比较分别分配了值1的a和b。情况2比较分别分配了[1,2,3]的x和y。根据定义,如果操作数相同(指的是同一对象)或指向相同的内存位置,则“ is”运算符的结果为True。为什么案例1和案例2中的“是”表现出不同的行为?

a, b = 1, 1
if a is b:
    print("Case 1 is True")
x = [1, 2, 3]
y = [1, 2, 3]
if x is y:
    print("Case 2 is True")

在Python 3.6.7中运行时,上面的程序会显示“情况1为真”。

0 个答案:

没有答案