呃,什么情况,是的,你没看错,片段一中的┞封段代码 a、b 值都是257的情况下,出现了a is b返回True,而a is c 返回的False,a、b、c的值都为257,为什么会出现不合的结不雅呢?这对于方才十分艰苦建立起来的认知就被彻底否决了吗,那这段代码中毕竟产生了什么?难道解惑一中的结论是缺点的吗?
解惑二
出于对机能的┞峰酌,Python内部做了很多的优化工作,对于整数对象,Python把一些频繁应用的┞符数对象缓存起来,保存到一个叫small_ints的链表中,在Python的┞符个生命周期内,任何须要引用这些整数对象的处所,都不再从新创建新的对象,而是直接引用缓存中的对象。Python把这些可能频繁应用的┞符数对象规定在范围[-5, 256]之间的小对象放在small_ints中,但凡是须要用些小整数时,就大年夜这琅绫擎取,不再去临时创建新的对象。因为257不再小整数范围内,是以尽管a和b的值是一样,然则他们在Python内部倒是以两个自力的对象存在的,各自为政,互不干涉。
总结
A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definition. Each command typed interactively is a block. A script file (a file given as standard input to the interpreter or specified as a command line argument to the interpreter) is a code block. A script command (a command specified>
推荐阅读
今朝,互联网+政务办事已经进入深水区,下一步推动的重点是什么?我们若何来推动政务办事聪明化?面对政务办事的新需求,IT企业应当若何来供给更好的办事?日前,在中国登科太极信息家当园召>>>详细阅读
本文标题:Python解惑:整数比较
地址:http://www.17bianji.com/lsqh/36162.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示