每日一书:《Python源码剖析》PDF中文高清版,豆瓣高分8.8 可下载

内容简介

作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。.


为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。

《Python源码剖析》或关注公众号;‘程序员白楠楠’获取~    
 
                               


目录

第0章 Python源码剖析——编译Python
0.1 Python总体架构
0.2 Python源代码的组织
0.3 Windows环境下编译Python
0.4 Unix/Linux环境下编译Python
0.5 修改Python源代码
0.6 通往Python之路
0.7 一些注意事项

第1部分 Python内建对象


第1章 Python对象初探
1.1 Python内的对象
1.2 类型对象
1.3 Python对象的多态性
1.4 引用计数
1.5 Python对象的分类


第2章 Python中的整数对象
2.1 初识PyIntObject对象
2.2 PyIntObject对象的创建和维护
2.3 Hack PyIntObject


第3章 Python中的字符串对象
3.1 PyStringObject与PyString_Type
3.2 创建PyStringObject对象
3.3 字符串对象的intern机制
3.4 字符缓冲池
3.5 PyStringObject效率相关问题
3.6 Hack PyStringObject


第4章 Python中的List对象
4.1 PyListObject对象
4.2 PyListObject对象的创建与维护
4.3 PyListObject对象缓冲池
4.4 Hack PyListObject


第5章 Python中的Dict对象
5.1 散列表概述
5.2 PyDictObject
5.3 PyDictObject的创建和维护
5.4 PyDictObject对象缓冲池
5.5 Hack PyDictObject


第6章 最简单的Python模拟——Small Python
6.1 Small Python
6.2 对象机制
6.3 解释过程
6.4 交互式环境


第2部分 Python虚拟机


第7章 Python的编译结果——Code对象与pyc文件
7.1 Python程序的执行过程
7.2 Python编译器的编译结果——PyCodeObject对象
7.3 Pyc文件的生成
7.4 Python的字节码
7.5 解析pyc文件


第8章 Python虚拟机框架
8.1 Python虚拟机中的执行环境
8.2 名字、作用域和名字空间
8.3 Python虚拟机的运行框架
8.4 Python运行时环境初探


第9章 Python虚拟机中的一般表达式
9.1 简单内建对象的创建
9.2 复杂内建对象的创建
9.3 其他一般表达式


第10章 Python虚拟机中的控制流
10.1 Python虚拟机中的if控制流
10.2 Python虚拟机中的for循环控制流
10.3 Python虚拟机中的while循环控制结构
10.4 Python虚拟机中的异常控制流


第11章 Python虚拟机中的函数机制
11.1 PyFunctionObject对象
11.2 无参函数调用
11.3 函数执行时的名字空间
11.4 函数参数的实现
11.5 函数中局部变量的访问
11.6 嵌套函数、闭包与decorator


第12章 Python虚拟机中的类机制
12.1 Python中的对象模型
12.2 从type对象到class对象
12.3 用户自定义class
12.4 从class对象到instance对象
12.5 访问instance对象中的属性
12.6 千变万化的descriptor


第13章 Python运行环境初始化
13.1 线程环境初始化
13.2 系统module初始化
13.3 激活Python虚拟机


第14章 Python模块的动态加载机制
14.1 import前奏曲
14.2 Python中import机制的黑盒探测
14.3 import机制的实现
14.4 Python中的import操作
14.5 与module有关的名字空间问题


第15章 Python多线程机制
15.1 GIL与线程调度
15.2 初见Python Thread
15.3 Python线程的创建
15.4 Python线程的调度
15.5 Python子线程的销毁
15.6 Python线程的用户级互斥与同步
15.7 高级线程库——threading


第16章 Python的内存管理机制
16.1 内存管理架构
16.2 小块空间的内存池
16.3 循环引用的垃圾收集
16.4 Python中的垃圾收集

总结

作为一名测试工程师要自己拥有核心竞争力,努力提升自己是关键,而如何提升,就需要看自己个人的学习习惯了。

最后只想说,学习不会辜负任何人,
《Python源码剖析》
或关注公众号;‘程序员白楠楠’获取~    
 
     




全部评论

相关推荐

不愿透露姓名的神秘牛友
03-30 21:35
爱蜜莉雅碳劝退测开:裁员裁大动脉了
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务