此部分为隐藏内容,请输入验证码后查看
扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
扫描右侧图片或微信搜索 “ Java技术分享屋 ” ,回复 “ 验证码 ” ,获取验证密码。
本资料仅供读者预览及学习交流使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
一.资料图片
二.资料简介
Python是一种半编译半解释型运行环境。首先,它会在模块 "载入" 时将源码编译成字节码 (Byte Code)。而后,这些字节码会被虚拟机在一个 "巨大" 的核心函数里解释执行。这是导致 Python 性能较低的重要原因,好在现在有了内置 Just-in-time次编译器的Py可供选择。
当虚拟机开始运行时,它通过初始化函数完成整个运行环境设置:
• 创建解释器和主线程状态对象,这是整个进程的根对象。
• 初始化内置类型。数字、列表等类型都有专门的缓存策略需要处理。
• 创建 __builtin__ 模块,该模块持有所有内置类型和函数。
• 创建 sys 模块,其中包含了 sys.path、modules 等重要的运行期信息。
• 初始化 import 机制。
• 初始化内置 Exception。
• 创建 __main__ 模块,准备运行所需的名字空间。
• 通过 site.py 将 site-packages 中的第三方扩展库添加到搜索路径列表。
• 执行入⼝口 py ⽂文件。执行前会将 __main__.__dict__ 作为名字空间传递进去。
• 程序执行结束。
• 执行清理操作,包括调用退出函数,GC 清理现场,释放所有模块等。
• 终止进程。
Python 源码是个宝库,其中有大量的编程范式和技巧可供借鉴,尤其是对内存的管理分配。个人建议有 C 基础的兄弟,在闲暇时翻看一二。