包(Package)是一种用于组织模块的层次结构。包实际上就是一个包含了__init__.py
文件的目录,该文件可以为空或包含包的初始化代码。通过使用包,可以更好地组织和管理大型项目中的模块,避免命名冲突,并提高代码的可维护性。
1、创建包:
(1)、假如存在一个文件夹,我们可以直接把它转换为包文件。通过右键文件夹
–>Mark Directory as
–>Namespace Package
即可转换,如下图:
(2)、直接通过New
–>Python Package
新建一个包,如下图所示:
(3)、创建了包文件后,我们可以添加一个__init__.py
文件,可以留空,也可以包含初始化代码。该文件代码在引用包的时候会先调用。
(4)、然后我们就可以把要组织的模块放入到包的目录中。
(5)、包的基本结构如下:
my_package/
__init__.py
module1.py
module2.py
2、导入包和模块:
-
导入包:使用
import
语句导入包,如:import my_package
-
导入模块:使用
from
和import
关键字导入包中的特定模块如:from my_package import module1
-
导入包中特定模块中函数:使用
.
操作符,如:from my_package.module1 import some_function as fun1
3、包的优点和注意事项:
(1)、包的优点
- 组织性:包可以更好地组织和管理大型项目中的模块。
- 避免命名冲突:包可以避免不同模块之间的命名冲突。
- 可维护性:通过使用包,更容易地维护和扩展代码。
(2)、注意事项:
- 包名应该是唯一的,避免与其他包重名。
- 包目录中的
__init__.py
文件可以为空,也可以包含初始化代码。 - 在Python 3.3及以后的版本中,
__init__.py
文件不再是必需的,但仍然推荐在包目录中包含该文件。
。
- 在Python 3.3及以后的版本中,
__init__.py
文件不再是必需的,但仍然推荐在包目录中包含该文件。
总结:做工程化项目开发时,如果项目的代码文件非常多,那么我们就可以通过“包”来管理“模块”,然后再通过“模块”来管理函数。Python中的from
、import
、as
关键字就是专门用来处理包和模块导入操作的。