以前看过一篇python技术贴,说用is替代==,这样更加pythonic?然后我就能把用‘==’的地方用‘Is’替代,结果程序运行结果的偏差很大,甚至完全不同。后来发现,Is与==使用上是有区别的。is是根据对象的ID来判断是否相同,而==是根据value来判断两个对象是否一样,而有些对象虽然value一样,但id不同。判断TRUE与F的结果就不一样。所以,如果只是判断两个对象的值是否一样的话,用‘==’
python Is 与== 的坑
2024-02-08 17:26:22
2024-02-08 17:26:22
以前看过一篇python技术贴,说用is替代==,这样更加pythonic?然后我就能把用‘==’的地方用‘Is’替代,结果程序运行结果的偏差很大,甚至完全不同。后来发现,Is与==使用上是有区别的。is是根据对象的ID来判断是否相同,而==是根据value来判断两个对象是否一样,而有些对象虽然value一样,但id不同。判断TRUE与F的结果就不一样。所以,如果只是判断两个对象的值是否一样的话,用‘==’