相关截图:

资料简介:

作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。  为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如Java*、Ruby等也有较大的参考价值。  本书适合于Python程序员、动态语言爱好者、C程序员阅读

资料目录:

第0章PYTHON源码剖析--编译PYTHON0.1PYTHON总体架构0.2PYTHON源代码的组织0.3WINDOWS环境下编译PYTHON0.4UNIX/LINUX环境下编译PYTHON0.5修改PYTHON源代码0.6通往PYTHON之路0.7一些注意事项第1部分PYTHON内建对象第1章PYTHON对象初探1.1PYTHON内的对象1.1.1对象机制的基石——PyObject1.1.2定长对象和变长对象1.2类型对象1.2.1对象的创建1.2.2对象的行为1.2.3类型的类型1.3PYTHON对象的多态性1.4引用计数1.5PYTHON对象的分类第2章PYTHON中的整数对象2.1初识PYINTOBJECT对象2.2PYINTOBJECT对象的创建和维护2.2.1对象创建的3种途径2.2.2小整数对象2.2.3大整数对象2.2.4添加和删除2.2.5小整数对象池的初始化2.3HACKPYINTOBJECT第3章PYTHON中的字符串对象3.1PYSTRINGOBJECT与PYSTRING_TYPE3.2创建PYSTRINGOBJECT对象3.3字符串对象的INTERN机制3.4字符缓冲池3.5PYSTRINGOBJECT效率相关问题3.6HACKPYSTRINGOBJECT第4章PYTHON中的LIST对象4.1PYLISTOBJECT对象4.2PYLISTOBJECT对象的创建与维护4.2.1创建对象4.2.2设置元素4.2.3插入元素4.2.4删除元素4.3PYLISTOBJECT对象缓冲池4.4HACKPYLISTOBJECT第5章PYTHON中的DICT对象5.1散列表概述5.2PYDICTOBJECT5.2.1关联容器的entry5.2.2关联容器的实现5.3PYDICTOBJECT的创建和维护5.3.1PyDictObject对象创建5.3.2PyDictObject中的元素搜索5.3.3插入与删除5.3.4操作示例5.4PYDICTOBJECT对象缓冲池5.5HACKPYDICTOBJECT第6章最简单的PYTHON模拟——SMALLPYTHON6.1SMALLPYTHON6.2对象机制6.3解释过程6.4交互式环境第2部分PYTHON虚拟机第7章PYTHON的编译结果--CODE对象与PYC文件7.1PYTHON程序的执行过程7.2PYTHON编译器的编译结果--PYCODEOBJECT对象7.2.1PyCodeObject对象与pyc文件7.2.2Python源码中的PyCodeObject7.2.3pyc文件7.2.4在Python中访问PyCodeObject对象7.3PYC文件的生成7.3.1创建pyc文件的具体过程7.3.2向pyc文件写入字符串7.3.3一个PyCodeObject,多个PyCodeObject7.4PYTHON的字节码7.5解析PYC文件第8章PYTHON虚拟机框架8.1PYTHON虚拟机中的执行环境8.1.1Python源码中的PyFrameObject8.1.2PyFrameObject中的动态内存空间8.1.3在Python中访问PyFrameObject对象8.2名字、作用域和名字空间8.2.1Python程序的基础结构——module8.2.2约束与名字空间8.2.3作用域与名字空间8.3PYTHON虚拟机的运行框架8.4PYTHON运行时环境初探第9章PYTHON虚拟机中的一般表达式9.1简单内建对象的创建9.2复杂内建对象的创建9.3其他一般表达式9.3.1符号搜索9.3.2数值运算9.3.3信息输出第10章PYTHON虚拟机中的控制流10.1PYTHON虚拟机中的IF控制流10.1.1研究对象--if_control.py10.1.2比较操作10.1.3指令跳跃10.2PYTHON虚拟机中的FOR循环控制流10.2.1研究对象——for_control.py10.2.2循环控制结构的初始化10.2.3迭代控制10.2.4终止迭代10.3PYTHON虚拟机中的WHILE循环控制结构10.3.1研究对象——while_control.py10.3.2循环终止10.3.3循环的正常运转10.3.4循环流程改变指令之continue10.3.5循环流程改变指令之break10.4PYTHON虚拟机中的异常控制流10.4.1Python中的异常机制10.4.2Python中的异常控制语义结构第11章PYTHON虚拟机中的函数机制11.1PYFUNCTIONOBJECT对象11.2无参函数调用11.2.1函数对象的创建11.2.2函数调用11.3函数执行时的名字空间11.4函数参数的实现11.4.1参数类别11.4.2位置参数的传递11.4.3位置参数的访问11.4.4位置参数的默认值11.4.5扩展位置参数和扩展键参数11.5函数中局部变量的访问11.6嵌套函数、闭包与DECORATOR11.6.1实现闭包的基石11.6.2闭包的实现11.6.3Decorator第12章PYTHON虚拟机中的类机制12.1PYTHON中的对象模型12.1.1对象间的关系12.1.2和12.2从TYPE对象到CLASS对象12.2.1处理基类和type信息12.2.2处理基类列表12.2.3填充tp_dict12.3用户自定义CLASS12.3.1创建class对象12.4从CLASS对象到INSTANCE对象12.5访问INSTANCE对象中的属性12.5.1instance对象中的__dict__12.5.2再论de*or12.5.3函数变身12.5.4无参函数的调用12.5.5带参函数的调用12.5.6BoundMethod和UnboundMethod12.6千变万化的DESCRIPTOR第3部分PYTHON高级话题第13章PYTHON运行环境初始化13.1线程环境初始化13.1.1线程模型回顾13.1.2初始化线程环境13.2系统MODULE初始化13.2.1创建__builtin__module13.2.2创建sysmodule13.2.3创建__main__module13.2.4设置site-specific的module的搜索路径13.3激活PYTHON虚拟机13.3.1交互式运行方式13.3.2脚本文件运行方式13.3.3启动虚拟机13.3.4名字空间第14章PYTHON模块的动态加载机制14.1IMPORT前奏曲14.2PYTHON中IMPORT机制的黑盒探测14.2.1标准import14.2.2嵌套import14.2.3importpackage14.2.4from与import14.2.5符号重命名14.2.6符号的销毁与重载14.3IMPORT机制的实现14.3.1解析module/package树状结构14.3.2加载module/pakcage14.3.3from与import14.4PYTHON中的IMPORT操作14.4.1importmodule14.4.2importpackage14.4.3from&import14.4.4import&as14.4.5reload14.4.6内建module:imp14.5与MODULE有关的名字空间问题第15章PYTHON多线程机制15.1GIL与线程调度15.2初见PYTHONTHREAD15.3PYTHON线程的创建15.3.1建立多线程环境15.3.2创建线程15.4PYTHON线程的调度15.4.1标准调度15.4.2阻塞调度15.5PYTHON子线程的销毁15.6PYTHON线程的用户级互斥与同步15.6.1用户级互斥与同步15.6.2Lock对象15.7高级线程库——THREADING15.7.1ThreadingModule概述15.7.2Threading的线程同步工具15.7.3Threading中的Thread第16章PYTHON的内存管理机制16.1内存管理架构16.2小块空间的内存池16.2.1Block16.2.2Pool16.2.3arena16.2.4内存池16.3循环引用的垃圾收集16.3.1引用计数与垃圾收集16.3.2三色标记模型16.4PYTHON中的垃圾收集16.4.1可收集对象链表16.4.2分代的垃圾收集16.4.3Python中的标记-清除方法16.4.4垃圾收集全景16.4.5Python中的gc模块16.4.6总结

python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载相关推荐

  1. python源码深度剖析_Python源码剖析——深度探索动态语言核心技术 | 学步园

    8.3  Python虚拟机的运行框架 当Python启动后,首先会进行Python运行时环境的 初始化.注意这里的运行时环境是一个与上一节剖析的执行环境不同的概念.运行时环境是一个全局的概念,而执行 ...

  2. python数字转对应中文_python中将阿拉伯数字转换成中文的实现代码 | 学步园

    复制代码 代码如下: #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): ...

  3. python socket接收图像 数据_python中socket接受数据的三种方法 | 学步园

    原位置:http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/408859 Description: An issue with socket ...

  4. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件 | 学步园

    用wget命令下载文件总是失败.用python脚本模拟浏览器下载,代码如下: #!/usr/bin/python import sys from urllib import FancyURLopene ...

  5. python 源码编译教程_python源码编译

    尝试通过源码自己编译 Python,使用的系统是 Ubuntu14.04 LTS. 首先去官网下载源码,地址:源码下载.下载完成之后,解压源码: 1tar -zxvf Python-2.7.12.tg ...

  6. python源码剖析_Python源码剖析 - 对象初探

    01 前言 对象是 python 中最核心的一个概念,在python的世界中,一切都是对象,整数.字符串.甚至类型.整数类型.字符串类型,都是对象. 02 什么是PyObject Python 中凡事 ...

  7. python定义类的程序_python扫码签到程序python中如何定义类

    什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下: < ...

  8. python快乐编程百度云_Python趣码快乐编程

    Python的安装/2 n 下载安装相应版本的Python安装包/2 n 验证Python是否安装成功/4 n 编辑器PyCharm的安装和使用/5 n PyCharm的下载与安装/5 n PyCha ...

  9. python 字节码指令含义_python 字节码指令列表

    /*********************************************************** KVS:文件:opcode.h swith字节码指令的文件:ceval.c * ...

  10. python中的ascii码是啥_python ascii码到u

    如果您不了解底层机制,很难解释UnicodeErrors.你真的应该读其中的一个或两个 简而言之,Unicode码位是一个抽象的"东西",表示一个字符1.程序员喜欢使用它们,因为我 ...

最新文章

  1. java sessionstate_在Java Web开发中自定义Session
  2. 使用Jest操作ElasticSearch 报错:No time zone indicator问题的解决方案
  3. 字节流读数据(一次读一个字节数组数据)
  4. php 数据显示,数据显示处理,该怎么处理
  5. 面试这些公司是在浪费时间
  6. 【转】[原创]LoadRunner如何监控Linux系统资源
  7. 【Python】循环的拓展
  8. GitForWindows工具集(GitBash命令行)
  9. 笔记本电脑怎样连接打印机_怎样使用打印机,打印机的基础知识
  10. Notification添加点击意图的学习理解
  11. 【转】HTTP响应报文与工作原理详解
  12. visual studio粘贴html代码.会自行添加一些未知代码(自动格式化)
  13. 为什么.class文件查看不了_恕我直言,这可能是你见过最详细的class文件结构分析
  14. 【HUD2072】单词数(字典树-统计一句话中不同单词的个数)
  15. html音频波纹播放器插件,JS 音频可视化插件Wavesurfer.js的使用教程
  16. CSDN客服联系方式
  17. CUDA:实现Sobel边缘检测滤波器的实例
  18. linux好用的office软件,MS Office Online——免费好用的在线办公软件
  19. 谷歌浏览器打开显示2345或360等其他主页的解决方法
  20. 以太网交换芯片及PHY处理相关

热门文章

  1. 数据结构课程设计之简单计算器的实现
  2. 读 自己动手写操作系统
  3. 《移动通信原理与系统》——第二章《移动通信电波传播与传播预测模型》——笔记
  4. Grasshopper 0.9汉化版下载 【Rhino5.0参数化插件】
  5. “个人云”复兴:智能化成为新趋势
  6. GD32VF103启动流程分析
  7. Jvm虚拟机下载和安装教程
  8. 从零开始学android
  9. SEOBOOK中文电子书-SEO基础教程
  10. 黑暗之魂3设置无边窗口化