python---关于is与==的讨论

首先简单来说:“==”运算符是比较两个对象的值(对象中保存的数据),而“is”比较对象的标识。

通常我们关注的是二者的值,而不是标识,所以在python中“==”出现的频率要比“is”高,然而在单值比较中,应该使用is进行比较。最常使用“is”来检查变量绑定的值是不是None,

x is None

x is not None

is 的运算速度比 == 快,因为它不能重载,直接对两个值的ID进行比较,而 a == b是语法糖,

1.若数字[-5,256]中,定义两个数字在此区间中,python将这些数字缓存在内存中,因为在脚本执行中这些数字会被频繁的使用,所以我们在调用此区间的数字时,实为调用的同一个对象

2.若赋值语句在同一个最小代码块中,在此代码块中进行赋值,则它们指向的内存地址也是相同的,所以id是相同的,

发布了56 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41363156/article/details/100173624