博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中 is 与 ==的区别
阅读量:6084 次
发布时间:2019-06-20

本文共 377 字,大约阅读时间需要 1 分钟。

在python中,经常遇到判断两个变量是否相同的情况,python提供了两种方式

  is:

    a is b 判断a和b的id是否相同。

  ==:

    a == b 判断a和b的value是否相等

python在存储对象时,存储三个东西:id、value、type,即地址、值和类型。

is比较两个变量的id是否相同,即是否引用同一地址。

==比较两个变量的值是否相等,即使不在同一地址也可能相等。

is的比较要比==速度快。

这是我在遇到if a is not None: 时想到的,为什么对于None不使用==?

我才可能是None和数字一样常驻内存,是不可变类型,所以只需判断一个变量的id是否指向这里就可以了,速度还快。

 

以上

转载于:https://www.cnblogs.com/lihao-like/p/9476111.html

你可能感兴趣的文章
codeforces Gym 100187A A. Potion of Immortality
查看>>
2016校招内推 -- 腾讯SNG前端 -- 面试经历
查看>>
HDU 4125 Moles 段树+KMP
查看>>
Apache2.2+Tomcat7.0整合配置详解
查看>>
Android程序的入口点
查看>>
嵌套怀疑条件运算符和一个逗号,大神寻求答案(自愿解决)
查看>>
50、Toast自定义布局
查看>>
STM32F4 Timer simplified block diagram
查看>>
python安装
查看>>
poj 1979 Red and Black(dfs水题)
查看>>
javascript与java编码互转
查看>>
【C++】类的特殊成员变量+初始化列表
查看>>
pip安装使用详解
查看>>
数学 - Codeforces Round #319 (Div. 1)A. Vasya and Petya's Game
查看>>
ExtJs--02--MessageBox相关弹出窗口alert,prompt,confirm采用
查看>>
滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(9月7日~9月13日)...
查看>>
NSDictionary 键值对查找
查看>>
初步boost之pool图书馆学习笔记
查看>>
QR代码简单
查看>>
Linux内核启动流程分析(一)【转】
查看>>