作家
登录

Python解惑:整数比较

作者: 来源: 2017-07-12 10:45:59 阅读 我要评论

  •  
  • >>> foo() 
  •  
  • True 
  •  
  • False  
  • 呃,什么情况,是的,你没看错,片段一中的┞封段代码 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>

  • >>> import dis 
  •  
  • >>> dis.dis(foo) 
  •  
  •   2           0 LOAD_CONST               1 (257) 
  •  
  •               3 STORE_FAST               0 (a) 
  •  
  •   
  •  
  •   3           6 LOAD_CONST               1 (257) 
  •  
  •               9 STORE_FAST               1 (b) 
  •  
  •   
  •  
  •   4          12 LOAD_FAST                0 (a) 
  •  
  •              15 LOAD_FAST                1 (b) 
  •  
  •              18 COMPARE_OP               8 (is
  •  
  •              21 PRINT_ITEM           
  •  
  •              22 PRINT_NEWLINE       
  •  
  •   
  •  
  •   5          23 LOAD_FAST                0 (a) 
  •  
  •              26 LOAD_GLOBAL              0 (c) 
  •  
  •              29 COMPARE_OP               8 (

      推荐阅读

      互联网+政务服务进入深水区智慧民生是核心

    今朝,互联网+政务办事已经进入深水区,下一步推动的重点是什么?我们若何来推动政务办事聪明化?面对政务办事的新需求,IT企业应当若何来供给更好的办事?日前,在中国登科太极信息家当园召>>>详细阅读


    本文标题:Python解惑:整数比较

    地址:http://www.17bianji.com/lsqh/36162.html

  • 关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)