Abstract
突然想到这个问题,就搜了搜,列出我看到的资料并进行整合
is ==
is 是引用相等(reference equality),用C语言来说,就是地址是否相同
== 是值相等(value equality)
is 表示的是对象标示符(object identity),我们在检查 a is b 的时候,其实相当于检查 id(a) == id(b)。而检查 a == b 的时候,实际是调用了对象 a 的 eq() 方法,
官方文档
The operators <, >, ==, >=, <=, and != compare the values of two objects.
The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. Object identity is determined using the id() function. x is not y yields the inverse truth value.
Python垃圾回收机制
在python中的GC垃圾回收机制中,当定义两个相同的字符串引用计数为0,触发垃圾回收。其中python为了优化速度