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

相关推荐

  • 内置数据结构

    list,tuple,str,bytes,bytearray,set,切片,分装解构,冒泡法

    2018-03-31
  • Python第三周小结

    经过了三周的学习,我们已经基本完成了Python基础数据结构的学习,包括列表,字符串,元组,bytes, bytearray, set, 字典等。为了更好的理解和熟练使用这些基本的数据结构,我将它们各自的特点分别总结 并做成了表格,希望能够帮助我们更好的理解的同时,熟练掌握这些数据结构。    

    2018-04-10
  • Centtos7搭建ftp服务

    Centtos7搭建ftp服务 下载安装软件包 yum -y install vsftpd   开启启用ftp服务 systemctl start vsftpd    #设置立即启用该服务 systemctl status vsftpd   #查看该服务当前运行状态 systemctl enable vsftpd   #设置开机自动启用该服务 systemc…

    Python笔记 2018-07-07
  • 高阶函数和装饰器

    高阶函数和装饰器 高阶函数 : 满足以下条件之一的称为高阶函数 接受一个或多个函数作为参数 输出一个函数 高阶函数举例: def counter(base): def inc(step=1): nonlocal base base += step return base return inc 1)自定义sort函数 def sort(itertable): …

    Python笔记 2018-04-23
  • 第一周作业

    linux基础

    Python笔记 2018-05-12
  • 函数执行过程和递归函数练习题

    函数执行过程和递归函数练习题

    2018-04-16