Python身份标识运算符用于比较对象以确定它们是否共享相同的内存并引用相同的对象类型(数据类型)。一共包含两个身份运算符。
运算符 | 描述 | 示例 |
is | 如果两个变量是同一对象,则返回 True,否则返回 false。 | a is b |
is not | 如果两个变量不是同一个对象,则返回 True,否则返回 false。 | a is not b |
1、“is” 运算符
如果两个操作数对象共享相同的内存位置,则“is”运算符的计算结果为 True。对象的内存位置可以通过 “id()” 函数获取。如果两个变量的 “id()” 相同,则 “is” 运算符返回 True。
示例:
a = [1, 2, 3, 4, 5] b = [1, 2, 3, 4, 5] c = a# Comparing and printing return values print(a is c) print(a is b)# Printing IDs of a, b, and c print("id(a) : ", id(a)) print("id(b) : ", id(b)) print("id(c) : ", id(c))
执行结果:
True False id(a) : 140114091859456 id(b) : 140114091906944 id(c) : 140114091859456
2、“is not”运算符
如果两个操作数对象不共享相同的内存位置,或者两个操作数不是相同的对象,则“is not”运算符的计算结果为 True。
示例:
a = [1, 2, 3, 4, 5] b = [1, 2, 3, 4, 5] c = a# Comparing and printing return values print(a is not c) print(a is not b)# Printing IDs of a, b, and c print("id(a) : ", id(a)) print("id(b) : ", id(b)) print("id(c) : ", id(c))
执行结果:
False True id(a) : 140559927442176 id(b) : 140559925598080 id(c) : 140559927442176