中篇Python(ODOO)篇 第一章 Python基础(六)基础部分 16.模块
在前面的几个章节中我们脚本是用Python解释器来编程,如果你从Python解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此Python提供了一个方法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被成为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用Python标准库的方法。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块也是Python对象,具有随机的名字属性用来绑定或引用。简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。1、包
包是一种管理Python模块命名空间的形式,采用“点模块名称”。比如一个模块的名称是A.B,那么他表示一个包A中的子模块B。就好像使用模块的时候,你就不用担心不同模块之间的全局变量互相影响一样,采取点模块名称这种形式也不用担心不同库之间的模块重名的情况。这样不同的作者都可以提供NumPy模块,或者Python图形库。把一堆相关的Python模块放在一个目录下,再加上一个__init__.py文件就构成了一个Pytho包,Python包可以嵌套,嵌套之后有点象java的包。__init__.py文件可以为空,不过,一般它时而会包含一个__version__的变量,保存这个包的版本信息,另外还有一个__all__的列表,包括要imort时要导入的模块。当然,__init__.py的内容不是绝对的,也可以什么都不写,还可以加上其它任何自己认为需要的代码。