Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码。迄今为止,我们所编写的所有程序都包含在单独的.py文件中,因此,它们既是程序,同时也是模块。关键的区别在于,程序的设计目标是运行,而模块的设计目标是由其他程序导入并使用。
不是所有程序都有相关联的.py文件-比如说,sys模块就内置于Python中,还有些模块是使用其他语言(最常见的是C语言)实现的。不过,Python的大多数库文件都是使用Python实现的,因此,比如说,我们使用了语句import collections,之后就可以通过调用collections.namedtuple()创建命名的元组,而我们存取的功能则实现于collections.py模块文件中。对程序而言,模块使用哪种语言实现并不重要,因为所有模块导入与使用的方式都是相同的。
python还提供了创建包的工具.包实际上是多个模块聚集在一起形成的,之所以要聚集在一起,通常是因为这些模块提供了相关联的功能,或者彼此存在一定的依存关系。