Python的模块
模块
模块可以让你有逻辑的组织你的Python代码段。
把相关的代码分配到一个,模块里面可以让你的代码更加好用,更易懂。
模块也是Python对象,具有随机的名字属性用来绑定或者引用。
简单的说,模块就是一个保存了Python代码的文件,模块能定义函数,类和变量,模块里面也能包含可执行的代码。
一个叫做aname的模块里的Python代码一般都能在一个叫做aname.py文件中找到。
import语句
想使用Python源文件,只需要在另一个源文件里面执行import语句,可以自动防止重复import。
如:
import module1,module2.。。。。。。。。。
当解释器遇到import语句,模块在当前的搜索路径就会被导入。
导入模块:
import support
调用模块里面包含的函数:
support.print_func("zara")
From...import语句
Python的from语句让你从模块中导入一个指定的部分到当前的命名空间。
语法:
from modname import name1[, name2.........]
例如要导入模块fib的fibonacci函数,使用如下语句:
from fib import fionacci
这个声明不会把真个fib模块导入到当前的命名空间中,它只会将fib里的fionacci单个引用到执行这个声明的全局符号表。
from 。。。。import*语句
把一个模块的所有内容全部导入到当前的命名空间也是可行的,只需要使用如下声明:
from modname import*
这个提供了一个简单的方法来导入一个模块中的所有项目,然而这种申明不该被过多使用。
定位模块
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
当前路径
如果不在当前路径,Python则搜索在shell变量PYTHONPATH的每一个路径。
如果找不到,Python会查看默认路径,unix下,默认路径一般为/usr/local/lib/python
模块搜索路径存储在system模块的sys.path变量中,变量里面包含当前路径,Pythonpath和由安装过程决定的默认路径。
PYTHONPATH变量
作为环境变量,PYTHONPATH由装在一个列表里面的许多目录组成,PYTHNOPATH的语法和shell变量的PATH的一样。
在windowns系统,典型的PYTHONPATH如下:
set PYTHONPATH=C:\python27\lib;
在Unix系统,典型的PYTHONPATH如下:
set PYTHONPATH=/usr/local/lib/python
命名空间和作用域