📜  Python中==和is运算符之间的区别

📅  最后修改于: 2020-01-17 12:45:58             🧑  作者: Mango

==操作符检查两者的值是否相等,而is运算符则检查两个操作数是否引用相同的对象。

# Python3 代码展示==和is的区别
list1 = []
list2 = []
list3=list1
if (list1 == list2):
    print("True")
else:
    print("False")
if (list1 is list2):
    print("True")
else:
    print("False")
if (list1 is list3):
    print("True")
else:
    print("False")

输出:

True
False
True
  • 如果 list1和list2均为空列表,则第一个if条件的输出为“ True”。
  • 其次,如果条件显示为“ False”,因为两个空列表位于不同的存储位置。因此,list1和list2引用不同的对象。我们可以使用Python中的id()函数检查它,该函数返回对象的“身份”。
  • 如果 list1和list3都指向同一对象,则第三个if条件的输出为“ True”。
    list1 = []
    list2 = []
    print(id(list1))
    print(id(list2))

    输出:

    139877155242696
    139877155253640

    这显示list1和list2引用了不同的对象。