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 中都可使用

posted @ 2017-02-28 11:45  hiavatar  阅读(170)  评论(0编辑  收藏  举报