资讯专栏INFORMATION COLUMN

python中的is

xavier / 1221人阅读

摘要:中的对象包含三要素其中用来唯一标识一个对象,当我们使用来进行判断两者是否相等时,就是使用其值在进行比较中一切都是对象,其中字符串和整数都是不可变对象,字符串存储在字符串对象池中,整数则存储在整数对象池。

Python中的对象包含三要素:id、type、value

其中id用来唯一标识一个对象,当我们使用is来进行判断两者是否相等时,就是使用其id值在进行比较

None is None
# True

a = 1; b = 1
a is b
# True

a = "myX"; b = "myX";
a is b
# True

a = 1.8; b = 1.8
a is b
# False

a = 3L; b = 3L
a is b
# False

a = 1+2j; b = 1+2j
a is b
# False

a = (1, 2); b = (1, 2)
a is b
# False

a = [1, 2]; b = [1, 2]
a is b
# False

a = {"male":1}; b = {"male": 1}
a is b
# False

https://gist.github.com/quietin/6ce45f460c31f6212f8d
python中一切都是对象,其中字符串和整数都是不可变对象,字符串存储在字符串对象池中,整数则存储在整数对象池。
如上代码所示,a和b均会指向"myX"所占的内存空间,所以其id值相同,a is bTrue

需要注意的是,整数大了也不行,整数is成立的最大数在我的机器(ubuntu 64bit)上是256,257的时候就是False

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45402.html

相关文章

  • Python学习之路1-变量和简单数据类型

    摘要:本章主要介绍的基本数据类型以及对这些数据的简单操作。入门仪式作为一个合格的程序员,必须精通各种语言的,以下是学习的第一段代码变量变量就是数据的别称,和数学上的变量类似。 《Python编程:从入门到实践》笔记。本章主要介绍Python的基本数据类型以及对这些数据的简单操作。 1. 入门仪式 作为一个合格的程序员,必须精通各种语言的Hello, World!,以下是学习Python的第一...

    MASAILA 评论0 收藏0
  • [零基础学python]模板中的语法

    摘要:在的模板中,功能还是很不少的,本讲介绍模板语法先。然后在模板中,利用语句,依次显示得到的列表中的元素。的代码不变,只修改模板的代码,重点理解模板中的语句写法。这样就是实现了模板中变量的使用。 Come to me, all you that are weary and are carrying heavy burdens, and I will give you rest. Ta...

    Honwhy 评论0 收藏0
  • Python面试」第一次更新

    摘要:外部作用域变量,常见于闭包函数,也就是嵌套函数中的上一层函数变量。其生命周期在整个闭包函数结束时会被释放。该函数的返回值必须是内嵌函数名闭包函数可以大幅提高代码复用性,使得代码性能大幅提高。 showImg(https://segmentfault.com/img/bVbuN3P); 阅读本文大约需要 7 分钟。 1.说一下 Python 中 LEGB 是什么 LEGB 指的是 Pyt...

    scq000 评论0 收藏0
  • 学习日志-python基础01,浅谈python3中的 is 与 ==

    摘要:与的根本区别比较操作符用来比较两个对象是否相等,做为判断因素同一性运算符比较判断两个对象是否相同,做为判断因素可变对象首先对象类型不同肯定会返回其次当对象类型相同同为可变对象时即列表字典即使值相等结果也是原因是他们不相等如下不可变对象那么对 is 与 == 的根本区别 ==比较操作符:用来比较两个对象是否相等,value做为判断因素is同一性运算符:比较判断两个对象是否相同,id做为...

    honmaple 评论0 收藏0
  • [零基础学python]让人欢喜让人忧的迭代

    摘要:其实,迭代器远远不止上述这么简单,下面我们随便列举一些,在中还可以这样得到迭代对象中的元素。 跟一些比较牛X的程序员交流,经常听到他们嘴里冒出一个不标准的英文单词,而loop、iterate、traversal和recursion如果不在其内,总觉得他还不够牛X。当让,真正牛X的绝对不会这么说的,他们只是说循环、迭代、遍历、递归,然后再问这个你懂吗?。哦,这就是真正牛X的程序员。不过,...

    DrizzleX 评论0 收藏0

发表评论

0条评论

xavier

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<