目录
Python中提供关键字 is ,同时,==也是判断运算符,那区别是什么?
Python中is的含义:
is 操作符是Python语言的一个内建的操作符。它的作用在于比较两个变量是否指向了同一个对象。
Python中==的含义:
==运算符是Python语言的一个内建的运算符。它的作用在于比较两个变量所指代的含义是否相同。
看下实际类型的比较结果。
一、list:
a = [1, 2, 3]
b = [1, 2, 3]
print(a, b)
print(a == b)
print(id(a), id(b))
print(a is b)
结果:
[1, 2, 3] [1, 2, 3]
True
1908181852744 1908181852808
False
输出结果非常符合预期,==在比较指代的值,值是相同的。is在比较原生对象,对象是不同的。
二、dict
i = {'first': 100, 'second': 200}
j = {'first': 100, 'second': 200}
print(i, j)
print(i == j)
print(id(i)