Python的总体结构-----剖析

Python 总结分为三部分:

①:文件系统(File Groups) :用于存储Python脚本文件,主要分为内置模块,第三方模块,用户自定义模块

②:解释器(Interpreter):用于完成Python脚本文件的扫描,解析,编译和运行,主要分为:Scanner(扫描)  ,   Parser(解析),   ComPlier(编译),  Exauator四部分

③:运行环境时的环境:1)/类型系统,内存分配器,运行时的状态信息

2)内存分配器:负责维护Python对象创建时对内存的申请

3)运行时的状态信息:负责维护解释器在执行字节码时不同的状态之间切换动作

如下图:

时间: 2024-08-01 22:46:32

Python的总体结构-----剖析的相关文章

python源码学习(一)——python的总体架构

python源码学习(一)——python的总体架构 学习环境: 系统:ubuntu 12.04 STLpython版本:2.7既然要学习python的源码,首先我们要在电脑上安装python并且下载python的源码,ubuntu 12.04 STL自带的python版本为2.7.3,这就可以了,接下来下载源码,下载python2.7.7的源代码,下载结束后解压文件,我们会看到如下文件结构:,接下来介绍一下,demo文件夹里放的是一些例子:Doc文件夹里放的是文档,Grammer是语法分析器,

《python解释器源码剖析》第13章--python虚拟机中的类机制

13.0 序 这一章我们就来看看python中类是怎么实现的,我们知道C不是一个面向对象语言,而python却是一个面向对象的语言,那么在python的底层,是如何使用C来支持python实现面向对象的功能呢?带着这些疑问,我们下面开始剖析python中类的实现机制.另外,在python2中存在着经典类(classic class)和新式类(new style class),但是到Python3中,经典类已经消失了.并且python2官网都快不维护了,因此我们这一章只会介绍新式类. 13.1 p

QP总体结构

QP是一个基于事件驱动的嵌入式系统软件框架,其总体结构如下图. AO活动对象由事件队列和层次状态机两部分组成,每个AO占有一个优先级: QF量子框架由五个数据结构及操作组成,其数据结构采用了uCOS-II相似的结构: QP有两种调度方式:合作式调度Qvanilla和抢占式调度QK,按实际要求选择一种: QS跟踪调试工具: GUI,TCP/IP通信等其它功能,可以以AO插件的方式加入到平台中. ? 参考: [1]http://www.state-machine.com [2][嵌入式系统工匠坊--

python 软件目录结构规范

为什么要设计好目录结构? "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人风格问题"无关紧要".理由是能让程序work就好,风格问题根本不是问题. 另一类同学认为,规范化能更好的控制程序结构,让程序具有更高的可读性. 我是比较偏向于后者的,因为我是前一类同学思想行为下的直接受害者.我曾经维护过一个非常不好读的项目,其实现的逻辑并不复杂,但是却耗费了我非常长的时间去

jquery源码--总体结构

1 (function( window, undefined ) { 2 // 构造jQuery 对象 3 var jQuery = (function() { 4 var jQuery = function( selector, context ) { 5 return new jQuery.fn.init( selector, context, ro otjQuery ); 6 } 7 return jQuery; 8 })(); 9 // 工具方法 Utilities 10 // 回调函数

Baseline Testing 开源(基于Python插件式结构开发)

[其他]入职37.com后写的一个东西,为了检查下服务器的一些安全配置.数量太多,手工不靠谱. [OSCHINA开源社区地址]http://www.oschina.net/p/baseline-testing 基于Linux的配置检查工具,采用插件式结构开发.开发语言使用的是python.开发者可以通过自行开发插件来扩展该工具,灵活性高.开发该工具的主要目的是因为刚入职,需要对几百台服务器进行检查.有需要的朋友可以对其进行插件扩展.在使用的过程当中,可以自己配置FTP,目前支持将结果上传到FTP

python软件目录结构规范

软件目录结构规范 软件开发规范 一.为什么要设计好目录结构? 1.可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等.从而非常快速的了解这个项目. 2.可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下.这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好. 二.目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结

十五.jQuery源码解析之Sizzle总体结构.htm

Sizzle是一款纯javascript实现的css选择器引擎,它具有完全独立,无库依赖;小;易于扩展和兼容性好等特点. W3C Selectors API规范定义了方法querySelector()和querySelectorAll(),但是IE6,7不支持这两个方法. 在Sizzele内部,如果浏览器支持方法querySelectorAll(),则调用该方法查找元素,如果不支持,则模拟该方法的行为. Sizzle支持几乎所有的css3选择器,并且会按照文档位置返回结果. 上面截取的只是Siz

【转】Tomcat总体结构(Tomcat源代码阅读系列之二)

本文是Tomcat源代码阅读系列的第二篇文章,我们在本系列的第一篇文章:在IntelliJ IDEA 和 Eclipse运行tomcat 7源代码一文中介绍了如何在intelliJ IDEA 和 Eclipse中运行Tomcat源代码,本文介绍一下Tomcat的总体结构. 本文没有特别指明的地方,源代码都是针对tomcat7.0.42来说. Tomcat的总体结构 Tomcat即是一个Http服务器也是一个Servlet容器,它的总体结构我们可以用下图来描述: 通过上图我们可以看出Tomcat中