Python CockBook(二)python如何运行程序,,python解释器运


python解释器运行原理

编译--> 提高运行速度如果python进程在机器上有写入权限,那么会在当前目录生成一个.pyc后缀的文件.下一次运行会检查源文件和字节文件的时间戳.如果都相同会直接跳过编译,直接运行

PVM

python virtual machine是系统的一个大循环, 不断地执行编译

性能的含义

C和C++是完全编译语言

python中没有build和make,且python的字节码不是机器的二进制编码(Intel芯片的指令),字节码是python特定的一种表现形式,这也是为什么python无法运行得像C或C++的原因

技术图片

执行模块的变体

python实现的替代者

Cpython

系统一般自带的

Jpython

编译python源代码 将python源代码编译成java字节码,并将字节码映射到hava虚拟机JVM上

IronPython

将python源代码 --> .net字节码

Psyco

PVM增强工具,字节码转换成底层真正的二进制机器代码

冻结二进制文件(.exe)

能够将程序的字节码,PVM(解释器)以及任何程序所需要的python支持文件捆绑在一起形成一个单独的文件包.过程会有一些不同,但是实际的结果将会是一个单独的可执行二进制程序.(例如,windows系统中的.exe文件)

三种系统:

py2exe(windows下使用)pyinstaller (类似于py2exe, 可以在linux及unix上使用)freeze

其他执行选项

stackless Python

Cython

未来的可能性

Parrot 项目目标提供一种对于多宗编程语言通用的字节码格式,虚拟机以及优化技术PyPy

本章习题

什么是python解释器?
解释器是一种让其他程序运行起来的程序.python解释器是运行python程序的程序

当你便写了一段Python程序, Python解释器江都区程序, 并按照其中的命令执行, 得出结果.

实际上, 解释器是代码与机器的计算机硬件之间的软件逻辑层.

什么是源代码?
源代码是为程序所写的语句: 它包括了文本文件 通常以.py为后缀的文本
什么是字节码?
源代码底层的与平台无关的表现形式# 字节码是Python将程序编译后所得到的底层形式. Python自动将字节码保存到后缀名为.pyc的文件中
什么是PVM?

Python Virtual Machine 虚拟机 迭代运行字节码的一个大循环,是python的运行引擎,通常表现为Python系统中的一部分

它是python虚拟机, 是python运行时引擎解释编译得到的代码

请列出俩个python标准执行模块的变体的名字?

Cpython Jpython IRronpython

Psyco  Shedskin  forzen binaries是执行模块的所有变体

Cpython, Jpython以及IronPython有什么不同?

Cpython是python语言的标准实现. Jpython和Ironpython都是python程序的JAVA和.NET实现,他们都是Python的编译器的替代实现

将Python源代码编译成对应的Java或是.NET环境能运行的字节码

Python CockBook(二)python如何运行程序

评论关闭