1. 首页
  2. 数据库
  3. 其它
  4. 详解python字节码

详解python字节码

上传者: 2020-12-31 22:10:21上传 PDF文件 52.24KB 热度 29次
Python对不可变序列进行重复拼接操作效率会很低,因为每次都会生成一个新的对象,解释器需要把原来对象中的元素先复制到新的对象里,然后再追加新的元素。 但是CPython对字符串操作进行了优化,因为对字符串做+=操作实在是太普遍了。因此,初始化str时会预留出额外的可扩展空间,从而进行增量操作的时候不会有复制再追加的这个步骤。 通过字节码研究一下这个过程。 >>> s_code = 'a += "b"' >>> c = compile(s_code, '', 'exec') >>> c.co_code b'e\x00\x00d\x00\x007Z\x00\x00d\x01\x00S' >>>
用户评论