无名 发表于 2022-5-8 18:37:43

【HC】小白学Python之身份运算符


http://cdn.u1.huluxia.com/g3/M02/47/F7/wKgBOV3RJ9aAQ8jUAAB7RTr-mbc668.jpg
身份运算符

身份运算符用于比较两个对象的存储单元。

is : is 是判断两个标识符是不是引用自一个对象
is not : is not 是判断两个标识符是不是引用自不同对象
示例如下:

a = 20
b = 20

if a is b:
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")

if id(a) == id(b):
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")

# 修改变量 b 的值
b = 30
if a is b:
    print("a 和 b 有相同的标识")
else:
    print("a 和 b 没有相同的标识")

if a is not b:
    print("a 和 b 没有相同的标识")
else:
    print("a 和 b 有相同的标识")
注意: id() 函数用于获取对象内存地址。http://cdn.u1.huluxia.com/g3/M02/47/F7/wKgBOV3RJ9aAZlRyAAOEAAJw50s983.jpg
输出结果如下:

a 和 b 有相同的标识
a 和 b 有相同的标识
a 和 b 没有相同的标识
a 和 b 没有相同的标识

其实这个输出结果可以看出来,在 Python ,如果两个数值一样的变量, Python 并不会在内存中重新开辟内存空间,而是会复用已有的内存空间。http://cdn.u1.huluxia.com/g3/M02/47/F7/wKgBOV3RJ9eAfs4QAAKfS153cBQ417.jpg
页: [1]
查看完整版本: 【HC】小白学Python之身份运算符