Python中“is”与“==”的区别
“is”用于判断两个变量引用是否为同一个,即判断对象标识符是否一致,深层次讲判断变量对象内存地址是否一样。
“==”用于判断引用变量的值是否相等,检查值相等与否。
如上面例子看出,is是比==更为严格的判断,若is判断为True则‘==’判断为真,反之则不一定。
python中有独特的内存分配机制,为了减少对内存的占用,对于简单字符串,较小整数型数据会保留副本,供下次创建新对象时调用,这样两个对象就有了相同的地址。
“is”用于判断两个变量引用是否为同一个,即判断对象标识符是否一致,深层次讲判断变量对象内存地址是否一样。
“==”用于判断引用变量的值是否相等,检查值相等与否。
如上面例子看出,is是比==更为严格的判断,若is判断为True则‘==’判断为真,反之则不一定。
python中有独特的内存分配机制,为了减少对内存的占用,对于简单字符串,较小整数型数据会保留副本,供下次创建新对象时调用,这样两个对象就有了相同的地址。