python中 ‘is’ 和 ‘==’ 区别

id –> 唯一身份标识符, is比较的是id, ==比较的是value 

 

首先, 明确以下三个知识点

id -> 返回对象的'唯一标识符'
== -> 比较操作符,比较判断两个对象的value(值)是否相等
is -> 同一性运算符,判断id是否相同

实验

01

02

03

总结

> a  is  b,实际上是做 id(a)==id(b) 运算
> a == b,实际上比较的是id(a)这个地址指向的值(内存地址)是不是和id(b)这个地址指向值一样
> 只有数值型和字符串型的情况下(a和b的value相等),a  is  b才为True,当a和b是tuple,list,dict或set型       时,a is b为False
> python为了实现对内存的有效利用,对小整数[-5,256]内的整数会进行缓存,不在该范围内的则不会缓存

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96312

赞 (0)
rumor31rumor31
上一篇 2018-04-16 10:22
下一篇 2018-04-16 10:33

相关推荐

  • 杨辉三角专题

    杨辉三角;二项式

    2018-04-09
  • DevOps 风向标!DevOps国际峰会6月29日正式启航!

    DOIS 大会为您呈现互联网公司与海外企业的实践经验与工具技术,聚焦 DevOps 在金融、电信、零售等行业的系统性实践。在这里我们不空谈、不务虚,实实在在的专注DevOps落地。

    2018-05-16
  • 面向对象之魔术方法

    特殊属性 属性 含义 __name__ 类、函数、方法的名称 __module__ 类定义所在的模块名 __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序 __doc__ 类、函数的文档字符串,若没定义则为None __mro__ 类的mro,方法查找顺序 __dict__ 类或实例的属性,可写的字典 …

    2018-05-20
  • python学习总结

    第一个项目日志分析。(存在不足)

    Python笔记 2018-05-06
  • 第一周作业

    linux基础

    Python笔记 2018-05-12
  • 装饰器

    装饰器 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x, y): return x + y 增加信息输出功能 def add(x, y): print(“call add, x + y”)  # 日志输出到控制台 return x + y p 上面的加法函数是完成了需求,但是有以下的缺点 打…

    Python笔记 2018-04-23