python是一种面向对象的语言,其可移植性非常强。
python官网:www.python.com
python运行脚本前的步骤:1、将代码编译生成与平台无关的字节码,(具有很好的可移植性)并把字节码保存在.pyc文件中。(字节码比源代码运行速度要快得多)
2、将字节码转发到虚拟机PVM中,虚拟机运行代码。(由于不是生成与底层相关的二进制字节码,因此跟C、C++比起来执行速度会比较慢)
3、与C、C++的不同之处:比他们的开发速度更快。(注意是开发速度,不是运行速度)没有build和make步骤。代码写好后立即运行,不需要预编译和链接。python是动态语言,函数的建立,类的操作以及连接操作都是在运行时完成的。
python有三种实现方式:Cpython(允许python能够脚本化C、C++代码)、Jpython(允许python能够脚本化Java代码)、Ironpython(允许脚本化.NET)
psyco是一个PVM增强工具,被看作是一个即时编译器JIT,能够将部分字节码转化成底层真正的二进制机器码,从而实现更快的执行速度。(需要单独获取并安装)
冻结二进制文件:通过第三方工具,将python转化成可执行的二进制文件,它是将python的字节码、PVM(解释器)以及任何程序所需要的支持文件捆绑在一起组成一个单独的文件包。这个二进制文件并不小,因为集成了PVM,接收端也不需要安装python【类似与Window下的.exe文件】
有三种系统能够生成冻结二进制文件:py2exe(Window下使用)、PyInstaller(能够在Linux和Uinx下使用)以及freeze
退出窗口,回到系统DOS窗口:ctrl+z
python文件中如果包含中文,可能导致乱码,这个时候,需要在文件开头加上# coding= gbk/utf-8来解码。注意:不能随便加空格,在C或C++中习惯在=左右都有空格,在python中空格不能随便加。如:# coding = gbk编译就会出错,=前面不能有空格
每一个以.py结尾的文件都是一个模块,可以通过导入读取另一个模块中的内容。导入只有第一次导入会运行,其他的导入都不会工作,甚至重新改变代码也不会工作。(因为导入的开销特别大)需要重新运行的话可以使用reload(text)
导入的时候文件名不要加.py后缀,否则会报错误。reload(text)括号里面的文件名也不要加后缀。正确:import text
注意:reload()必须是在import后使用的,没有用import直接使用reload()会出现错误