Python简介
创始人Guido von Rossum
,荷兰人
python可以定义
为面向对象的脚本语言。
彩蛋:在交互式解释器中键入 import this,即可python的设计原则。
python简史参考:http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html
1 python如何运行程序
1.1 Python代码执行过程
编译
编译是一个简单的翻译步骤,而且字节码是源代码底层的、与平台无关的表现形式。
字节码
可以提高二次执行速度。
PVM
PVM并不是一个独立的程序,不需要安装。PVM时常表现为python系统的一部分,是python的运行引擎。
1.2 执行优化工具
Psyco 是扩展字节码执行组件模块的组件,是PVM的增强工具,提高代码执行速度。
PyPy 使用Python实现python PVM的项目,已经取代Psyco
1.3 冻结二进制文件 单独封装便于软件发布
这个文件能将程序的字节码、PVM以及程序所需的python支持文件捆绑在一起形成一个单独的文件包。如windows的.exe文件
py2exe
windows下使用
PyInstaller
linux和Unix下使用
freeze
最初始版本
2 如何运行程序
交互式模式
系统命令行
import 导入
第一次导入模块会运行,以后再次导入也不运行,因为导入的开销很大。
import语句每个进程只运行一次,并且会把文件生成到一个单独的模块命名空间中,这样不会改变作用域中的变量;用命名空间(变量名的封装,在python中以带有属性对象的形式呈现)分隔所付出的代价是,在修改之后需要重载。
reload 重载
from imp import reload
reload(py)
import和reload都可以运行文件,但是要避免这样做。
原因:想要运行代码的最新版本,reload需要只要是否已经import过,这会带来麻烦;并且 reload是不可传递
的,重载只会重载该模块,不会重载该模块所导入的任何模块。
使用exec运行模块文件
使用exec(open('m.py').read())运行模块文件就好象将代码粘贴到这边运行一样,可能会带来变量名覆盖的可能。
execfile('m.py') 在python2.6 中可使用
exec(open('m.py').read()) 在python2.6 和 3.0 中都可使用