Python 3 – 身份运算符示例
Python 3的身份运算符可以用来比较两个对象的内存地址是否一致。如果两个对象的内存地址相同,则它们是同一个对象。
让我们来看几个示例:
示例一:比较两个变量
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is y) # False,因为x和y指向不同的内存地址
print(x is z) # True,因为x和z指向相同的内存地址
print(x == y) # True,因为x和y的元素相同
示例二:比较两个对象
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John", 36)
p2 = Person("John", 36)
p3 = p1
print(p1 is p2) # False,因为p1和p2指向不同的内存地址
print(p1 is p3) # True,因为p1和p3指向相同的内存地址
示例三:使用not关键字
x = ["apple", "banana"]
y = ["apple", "banana"]
z = x
print(x is not y) # True,因为x和y指向不同的内存地址
print(x is not z) # False,因为x和z指向相同的内存地址
使用身份运算符的好处是可以提高程序的效率。例如,在比较两个对象是否相等时,使用身份运算符可以先比较它们的内存地址,如果内存地址不同,则两个对象必定不相等,避免了不必要的计算。
结论
Python 3的身份运算符可以用来比较两个对象的内存地址是否一致。如果内存地址相同,则两个对象是同一个对象。使用身份运算符可以提高程序效率。