1.模块
模块(module)是搭建程序的一种方式。每一个Python代码文件都是一个模块。
2.模块的导入
(1)import
格式:import 模块名
使用格式: 模块名.类名 或者 全局变量名 或者 函数名
(2)from…import
格式:from 模块名 import 类名 变量名 函数名
(3)from … import *
导入模块中的所有的类, 变量 , 函数
(4)as(起别名)
import 模块名 as 别名 ——> 给一个模块起个别名
from 模块名 import 类名 变量名 函数名 as 别名 ——> 给模块中的类,函数,变量起一个别名
3.定位模块
导入一个模块,Python解析器对模块位置的搜索顺序是:
(1)当前目录
(2)如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录
(3)如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
(4)模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录
(1)当前目录
(2)如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录
(3)如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
(4)模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录
4.模块中的__all__
如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,才能被from xxx import *时导入
5.包
包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包
__init__.py 控制着包的导入行为
__init__.py为空:仅仅是把这个包导入,不会导入包中的模块
在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块
可以在__init__.py文件中编写语句,当导入时,这些语句就会被执行