在上诉的字节码, 我们侧重须要看的昵嘟个: BINARY_ADD 和 INPLACE_ADD ! 很明显:
因为两者的行动真的很类似, 所以在这侧重讲 INPLACE_ADD , 对 BINARY_ADD 感兴趣的童鞋可以在源码文件: abstract.c , 搜刮: PyNumber_Add .实际上也就少了对列表之类对象的操作罢了.
检查是不是都是`int`类型, 如不雅是, 直接返回两个数值相加的结不雅
- # 取自: listobject.c
- PyTypeObject PyList_Type = {
- ... (省略)
- &list_as_sequence, /* tp_as_sequence */
- ... (省略)
- }
l = l + [3, 4, 5] 这种背后就是 BINARY_ADD
l += [3, 4, 5] 这种背后就是 INPLACE_ADD
深刻懂得
固然两个单词差很远, 但其实两个的感化是很类似的, 最起码前面一部分是, 为什么如许说, 请看源码:
- # 取自ceva.c
推荐阅读
【51CTO.com原创稿件】2017年6月14日,杰和科技在北京国度泅水中间为了其NAS办事器新品举办了以“谋势而>>>详细阅读
本文标题:Python源码理解: +=和 xx = xx + xx的区别
地址:http://www.17bianji.com/lsqh/35818.html
1/2 1

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