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

相关推荐

  • 函数与生成器

    函数 由若干语句组成的语句块,函数名,参数列表构成,是组织代码的最小单元,完成一定的功能,结构化编程对代码的最基本的封装,封装的目的是为了复用 函数中没有return,隐式会返回一个none值 定义中的参数列表成为形式参数,只是一种形式表达,简称形参 调用时写的参数是实际参数,是实实在在传入的值,简称实参 函数的定义,只是声明了参数,不会执行,可以进行调用,…

    2018-04-16
  • 序列化 Json MessagePack

    序列化 反序列化 pickle模块
    Json 模块
    MessagePack

    2018-05-02
  • python– 简单的排序

    冒泡排序, 简单选择排序, 插入排序

    Python笔记 2018-04-15
  • 装饰器

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

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

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

    2018-05-16
  • Python 部分知识点总结(九)

    此篇博客只是记录第十一周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-05-21