Python CockBook(二)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环境能运行的字节码
posted on 2020-08-28 20:56 sunnywillow 阅读(167) 评论(0) 编辑 收藏 举报