一:模块
一个模块就是一个py文件,里面定义了一些业务函数。引用模块,可以用import语句导入。导入模块后,通过 模块.函数名(参数) 来使用模块中的函数。如果存在多个同名模块,则前面模块名需要加上包路径。
如果我们只需导入模块中的几个函数,可以用 from 模块名 import 函数名,函数名,..的形式来导入,这样就可以在代码中使用函数名来调用函数,无需路径。
为了避免同名冲突,还可以在导入函数的同时设置别名,from 模块名 import 函数名 as 别名,然后在代码中就可以使用别名来调用函数了。
二:包
为了避免模块同名冲突,通常把模块放在包中管理,导入时,通过完整的路径来导入。
python中的包是一种特殊的文件夹,他每一级都要有一个 _init_.py 文件,即使文件内容为空。这个文件的作用是标识该文件夹为一个包。
为了方便在下面调用模块中的方法,在导入模块时也可以使用别名:import 模块 as 别名
三:动态导入模块
Python导入模块出错会报 ImportError 异常,可以根据这个特性,捕捉导入异常来动态导入。如:
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
四:旧版本中使用新版本的模块
当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__模块中,以便旧的代码能在旧版本中测试新特性。所以可以在旧版本的python程序中,通过导入__future__模块,然后调用新版本的函数。
五:使用第三方模块
python官方提供了 pip install 第三方模块名.py 指令,可以在 https://pypi.python.org/pypi *仓库上查找要使用的第三方模块的名字,然后使用命令行来安装即可。
(类似与Java开发中的Maven导入依赖包的做法)