Python 第十一节 第五课
[toc]
3. 包 package 的使用
3.1 包 ( package ) 的概念和结构
当一个项目中有很多个模块时, 需要进行组织. 我们将功能类似的模块放到一起, 形成了 "包". 本质上, "包" 就是一个必须有__init__.py 的文件夹. 典型结构如下:

包下面可以包含 "模块 ( module )", 也可以再包含 "子包 ( subpackage )". 就像文件夹下面可以有文件, 也可以有子文件一样.

上图中, a 是上层的包, 下面有一个子包: aa. 可以看到每个包里面都有__init__,py 文件.
3.2 pycharm 中创建包
在 pycharm 开发环境中创建包, 非常简单. 在要创建包的地方单击右键: New --> Python package 即可. pycharm 会自动帮助我们生产带有__init__.py 文件的包.

3.3 导入包操作和本质
上一节中的包结构, 我们需要导入 module_AA.py. 方式如下:
1. import a.aa.module_AA
在使用时, 必须加完整名称来引用, 比如: a.aa.module_AA.funAA()

2. from a.aa import module_AA
在使用时可以直接使用模块名. 比如: module_AA.funAA()

3. from a.aa.module_AA import fun_AA()
在使用时, 直接可以使用函数名. 比如: fun_AA()

注:
1. from package import item 这种语法中, item 可以是包, 模块, 也可以是函数, 类, 变量.
2. import item1.item2 这种语法中, item 必须是包或模块, 不能是其他.
导入包的本质其实是 "导入了包的__init__.py" 文件. 也就是说, "import pack1" 意味着执行了包 pack1 下面的__init__.py文件
这样, 可以在__init__.py 中批量导入我们需要的模块, 而不再需要一个个导入.
__init__.py 的三个核心作用:
1. 作为包的标识, 不能删除
2. 用来实现模糊导入
3. 导入包实质是执行__init__.py 文件, 可以在__init__.py 文件中做这个包的初始化, 以及需要统一执行的代码.
文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。
原文链接:iamarookie.blog.csdn.net/article/details/109140930
- 点赞
- 收藏
- 关注作者
评论(0)