python 操作符 “==” 和“is”差别:
有时候,调试代码的时候总会遇到运算符的bug, 这里稍做个总结。
我们先从官方文档里看一下定义,再看下面的小实例:
a = 1
b = 1
print(a == b) #输出:True
print(a is b) #输出:True
c = 1.0
d = 1.0
print(c == d) #输出:True
print(c is d) #输出:True
e = "abc"
f = "abc"
print(e == f) #输出:True
print(e is f) #输出:True
g = [1, 2, 3]
h = [1, 2, 3]
print(g==h) #输出:True
print(id(g)) # 输出:3108129548864
print(id(h)) # 输出:3108132618432
print(g is h) # 输出: False
a = "hello world"
b = "hello world"
print(a is b) # 输出 True
print(a == b) # 输出 True
a = [1, 2, 3]
b = a
print(a is b) # 输出True
print(a == b) #输出True