设为首页 加入收藏

TOP

从底层理解Python的执行(二)
2015-07-16 12:55:18 来源: 作者: 【 】 浏览:8
Tags:底层 理解 Python 执行
作码,这对我们聚合数据并展示是相当有用的。


新建一个用于追踪函数内部机制的类:


一旦我们知道下一个操作,我们就可以分析它并修改它的参数。举例来说我们可以增加一个auto-follow-called-functions的特性。


现在我们实现一个 Trace 的子类,在这个子类中增加 callback 和 doreport 这两个方法。callback 方法将在每一个操作之后被调用。doreport 方法将我们收集到的信息打印出来。


这是一个伪函数追踪器实现:


这里有一些实现的例子和使用方法。格式有些不方便观看,毕竟我并不擅长于搞这种对用户友好的报告的事儿。


递推式构造列表(List Comprehensions)的追踪示例 。


总结


这个小项目是一个了解 Python 底层的良好途径,包括解释器的 main loop,Python 实现的 C 代码编程、Python 字节码。通过这个小工具我们可以看到 Python 一些有趣构造函数的字节码行为,例如生成器、上下文管理和递推式构造列表。


这里是这个小项目的完整代码。更进一步的,我们还可以做的是修改我们所追踪的函数的堆栈。我虽然不确定这个是否有用,但是可以肯定是这一过程是相当有趣的。


原文链接Understanding Python execution from inside: A Python assembly tracer


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇提高Python运行效率的六个窍门 下一篇TypeScript 基本语法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: