作家
登录

Python源码理解: +=和 xx = xx + xx的区别

作者: 来源: 2017-06-19 09:02:48 阅读 我要评论

  •             } 
  •            ...(省略) 
  •  
  •  
  • # INPLACE_ADD 
  • TARGET_NOARG(INPLACE_ADD) 
  •         { 
  •             w = POP(); 
  •             v = TOP(); 
  •             if (PyInt_CheckExact(v) && PyInt_CheckExact(w)) {   // 检查阁下操作数是否 int 类型 
  •                 /* INLINE: int + int */ 
  •                 register long a, b, i; 
  •                 a = PyInt_AS_LONG(v); 
  •                 b = PyInt_AS_LONG(w); 
  •                 i = a + b; 
  •                 if ((i^a) < 0 && (i^b) < 0) 
  •                     goto slow_iadd; 
  •                 x = PyInt_FromLong(i); 
  •             } 
  •             else if (PyString_CheckExact(v) && 
  •                      PyString_CheckExact(w)) {                 // 检查阁下操作数是否 string 类型 
  •                 x = string_concatenate(v, w, f, next_instr); 
  •                 /* string_concatenate consumed the ref to v */ 
  •                 goto skip_decref_v; 
  •             } 
  •             else { 
  •               slow_iadd:                            
  •                 x = PyNumber_InPlaceAdd(v, w);                 // 两者都不是, 请走这里~ 
  •             } 
  •            ... (省略)  

  •   推荐阅读

      NAS存储市场杀入新军 安全易用是亮点

    【51CTO.com原创稿件】2017年6月14日,杰和科技在北京国度泅水中间为了其NAS办事器新品举办了以“谋势而>>>详细阅读


    本文标题:Python源码理解: +=和 xx = xx + xx的区别

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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