前面介绍了使用函数来重用代码块。如果你定义了一堆函数,准备在其他程序中重用这些函数,那你要怎么办呢?
在Python中,你可以使用模块来实现这个需求。模块实际上就是一个包含了一大堆函数的文件。这个文件需要以.py为后缀名,用来表明它是一个Python模块。
Python本身也定义了一些标准的模块。例如sys模块。
import sys;
print "sys.path = ", sys.path;
注意上面的import sys这条语句,它是声明当前程序导入了sys这个模块。如果程序中药使用一个模块,你必须通过import语句声明导入一个模块。
另外,你所导入的模块所在的文件必须存在于sys.path所包含的路径下。
编译后的Python源文件(.pyc文件)
编译后的Python源文件可以提高导入该文件的速度。需要说明的是,这种编译后的文件是一种中间形式,和具体的平台没有直接关系。
from..import语句
在前面看到了使用模块中的变量的例子:sys.path。如果想要直接使用path变量,但是不想再写sys.前缀怎么办呢?
可以使用from sys import path语句来代替import sys语句。
from sys import path;
print "sys.path = ", path;
模块的__name__
每个模块都有一个名字。在程序中可以通过__name__属性获得模块的名字。
定义自己的模块
定义一个模块是一件非常简单的事情,实际上你已经定义过自己的模块了。当你在一个XXX.py文件中写了一段合法的Python程序并保存之后,你就已经定义了一个你自己的模块。
例如,创建一个文件myModule.py,内容如下:
def func() :
print 'Hello';
那么,你现在可以在另一处调用这个模块内的func()函数:
import myModule;
myModule.func();
从上面可以看到,一个模块的名字,其实就是那个模块所在文件的名字(不包括.py后缀)。
dir(moduleName)函数
你可以通过dir()函数来查看一个模块内部所定义的标识符列表。
例如,查看myModule.py这个模块内所定义的标识符列表:
import myModule;
dir(myModule);