is对应的是内存地址,==对应的是值,不同情况不同分析
# 数值类型时,不区分id和值
a=1
b=1
c=d=1
print(a is b)—True
print(a == b)—True
print(c is d)—True
# 字符串类型时,不区分id和值
a=“name”
b=“name”
c=d=“name”
print(a is b)—True
print(a == b)—True
print(c is d)—True
# list类型时,is指向id,==指向值
a=b=[1,2,3]
c=[1,2,3]
d=[2,3,4]
print(a is b)—True
print(a == b)—True
print(a == c)—True
print(a is c)—False
print(c is d)—False
#tuple类型时,不区分id和值
a=(1,2,3)
b=(1,2,3)
c=d=(1,2,3)
print(a is b)—True
print(a == b)—True
print(c is d)—True
print(id(a))—2020965756096
print(id(b))—2020965756096
# dict类型时,is指向id,==指向值
a= {1:2,2:3,3:4}
b={1:2,2:3,3:4}
c=d={1:2,2:3,3:4}
print(a is b)—False
print(a == b)—True
print(c is d)—True
python中is和==的区别
最新推荐文章于 2022-09-26 08:00:00 发布