python中is和==运算符比较

is是判断两个变量是否引用同一个对象,即比较对象的地址;

==则是判断两个引用变量或者引用对象的值是否相等,默认调用对象的_eq_()方法;

举例,当直接在IDLE中运行如下代码时,结果如下:

 同样的代码不同的结果,原因在于python仅对较小的整数进行缓存,范围是[-5,256],但是在pycharm和.py文件中,范围则是[-5,任意正整数],这是因为解释器做了一部分的优化所致。

猜你喜欢

转载自blog.csdn.net/qq_24116763/article/details/83576809