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

2024-10-02 00:23:53 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的程序中,我正在测试两个案例的“is”。情况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")

在python3.6.7中运行时,上面的程序打印“case1istrue”


Tags: 对象内存程序trueif定义is情况

热门问题