文章目录
- 包 package
- 导入
- 举个例子1
- 举个例子2
包 package
- 定义
将模块以文件夹的形式进行分组管理。
- 作用
让一些相关的模块组织在一起,使逻辑结构更加清晰。
- 例子(这个是包么?)
①我们单独创建一个空文件夹叫package01,请问这是包么?
答:不是!
②我们在package01文件夹里,创建一个__init__.py
模块,package01是包么?
答:是!
因为package01文件夹内有__init__.py
模块,所以package01是包。__init__.py
模块内部可以是空的,但必须要有,如果没有这个模块,package01就不是包。
但是我们创建包,不必要那么麻烦(先创建一个文件夹,再在文件夹内添加__init__.py模块).可以直接创建package,开发工具会自动帮我们创建一个自带__init__.py的文件夹(包)。
我们创建一个叫package02的包,如下图所示:
导入
- 语法
from 包名 import 模块名 [as 模块新名]
from 包名.子包名 import 模块名 [as 模块新名]
from 包名.子包名.模块名 import 成员名 [as 属性新名]
# 导入包内的所有子包和模块
from 包名 import *
from 包名.模块名 import *
举个例子1
首先我们创建一个项目,叫day14,并将day14设置为项目根目录,则day14的路径则会加到sys.path当中(pycharm中的day14文件夹会变蓝。但是这种,设置项目根目录的操作,仅限于pycharm, 当我们抛弃了pycharm用其他编辑器/终端运行,则可能没有这种设置):
备注:项目根目录里不需要方__init__.py
文件,但是包内需要放__init__.py
文件。
我们再用项目根目录的主模块code01.py,调用package01包下的module01.py模块,再使用module01.py模块下的fun01方法:
①调用方法1
②调用方法2
③调用方法3
我们先在__init__.py
文件中,添加一行代码:
再导包,调用方法:
④调用方法4(推荐)
举个例子2
若module01.py模块, 想调package02里的module02.py模块改咋办?
在module01.py模块中写入以下代码:
在主模块code01.py中运行一下:
结果:
备注:module02.py也可以调用module01.py, 但是我们要调用时,必须从根目录写起。