本章将讲解python的模块导入机制,常用的导入方式,理解目录结构和包结构的关系,_init_.py的用法以及一些常见的python包管理工具的介绍。
模块
模块支持从逻辑上组织python 代码。当代码量变得相当大的时候,我们最好把代码分成一些有组织的代码段,前提是保证他们的彼此交互。python允许调入(import)一个模块(module),从而实现代码重用。
模块和文件
模块的导入需要一个叫做“路径搜索”的过程,即在文件系统“预定义区域”中查找.py文件。这些预定义区域是你的python搜索路径的集合。路径搜索和搜索路径是两个不同的概念,前者是查找某个文件的操作,后者是去查找一组目录。通过调用sys模块中的path可以查到搜索路径。
调用sys.module可以找到当前导入了哪些模块,和他们的位置。
名称空间
名称空间是名称标识符到对象的映射。在此前章节已经讨论过名称空间,包括局部名称空间、全局名称空间以及内建名称空间。
访问一个属性时,解释器会从按照:局部、全局、内建名称空间的顺序进行搜索。
导入模块
- 使用import语句导入模块。
- import sys
- 使用from…import…导入指定的模块属性。
- from module import name1
- 使用import…as…重命名导入的模块。
- import Tkinter as tk
导入也可以多行同时导入。