文章目录
is和==的区别
问题: is和==两种运算符在应用上的本质区别是什么?
1). Python中对象的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
2). is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。
3). ==用来比较判断两个对象的value(值)是否相等;(type和value)
is也被叫做同一性运算符,会判断id是否相同;(id, type 和value)
==判断类型和值是否相等
is同一性运算符,类型和值是否相等,内存地址(id)是否相等
print(1 == "1") #False
li = [1,2,3]
li1 = li.copy()
print(li == li1) #True
print(li is li1) #False
print(id(li),id(li1)) #2581387305544 2581387305608