Python中包/文件夹/库/模块之间的区别

模块

模块 modules, 本质上是一个python程序,以.py为后缀,任何py文件都可以作为一个模块

通过使用模块可有效的避免命名空间冲突

Python中的包就是里面装了一个__init__.py文件的文件夹(前后各有两个下划线)

包具有下面几个性质:

  • 它本身是一个模块

  • 这个模块的模块名不是__init__.py而是这个包的名字

  • 它的作用是将一个文件夹变为一个python模块

  • 它可以不包含代码,但是在import的时候也做不了什么

  • 不建议在__init__.py中写类,以保证py文件的简单

  • 它本质上依然是模块,因此一个包里面还可以装其它包

    例如core是一个包,core里面有config和models包,

    可以通过import core.config 来调用config中的内容

严格的来说,Python中没有库的概念,我们常说的库既可以是一个包,也可以是一个模块

文件夹

就是普通的文件夹