- A+
通过阅读Python源码剖析,让我对Python有了更深入的了解,不只是停留在Python语言的表面语法上,而是对整个Python内部是如何用C代码进行实现的有了更深入的了解,真正看到如何用一门语言来实现另一门语言。主要分为三个部分来讲解。在这里我还是要介绍一下小编的学习交流的群,有什么不懂的问题,都可以在群里踊跃发言,需要啥资料随时在群文件里面获取自己想要的资料。这个python群 227435450就是小编期待大家一起进群交流讨论,讲实话还是一个非常适合学习的地方的。各种入门资料啊,进阶资料啊,框架资料啊 爬虫等等,都是有的,风里雨里,小编都在群里等你
第一部分主要讲了Python的内建对象,也就是Python中的基本类型,不过在Python中一切都是对象,整数、字符串、整数类型、字符串类型、函数等一切都是对象。面向对象理论中的“对象”这连个概念在Python中都是通过Python内的对象来实现的。这部分主要是了解对象在Python内部是如何表示的,也就是如何用C语言实现的。
第二部分进入的对Python来说非常重要的虚拟机。讲解了我们平时编写的.py文件是怎样转换成一系列的机器指令并在虚拟机中执行的。对虚拟机进行了深入的剖析,把虚拟机的框架、虚拟机中的控制流、虚拟机中的函数机制以及类机制进行了深入的剖析以及如何用C语言来实现的。
第三部分进入Python的高级话题。之前两个部分已经完成了对Python核心字节码虚拟机的剖析工作,但是对于完整的理解Python运行时的行为还不够,所以这一部分从Python应用程序被执行开始,一步步跟踪Python,完整地展示Python在启动之初的所有动作。主要是对Python运行时环境如何初始化、Python模块的动态加载机制、Python的多线程机制以及Python的内存管理机制进行了详细的介绍和用C代码实现。
通过阅读Python源码剖析和课外资料,我个人感觉对Python的优化主要集中在以下几点:
-
改进Python所使用代码的算法和数据结构
-
将Python应用程的关键模块用C来扩展
-
修改Python虚拟机中的源码(比如对经常使用的判断或算术操作加入更多的快速通道)
-
使用扩展模块Psyco,将其插入到解释器的内部,有选择性地用优化的机器代码代替Python的解释型字节码。