包 本质就是一个文件夹
为什么使用包:
是结构更加的清晰
__init__.py文件的作用
包也是一个模块
在导入一个模块时发生三件事都一样
第二步需要执行被导入文件的代码,但是包只是一个文件夹不能被直接执行
所以需要提供一个py文件用来代表这个包成为一个模块
init的好处:
可以将包内模块的功能直接导入到__init__中,这样一来对于包的使用者而言,可以无需考虑要使用的功能在
具体的哪一个文件中,直接调用功能即可
相对导入和绝对导入
相对:
指的是相对于某个模块而言的导入路径
from . import 名称
. 表示的是当前这一级目录
注意:执行文件中不能使用相对导入
1.使用相对导入时不能使用.返回到执行文件所在的层
2.相对导入仅用于同一个包内的模块间相互导入
绝对导入:
值得是从执行文件开始的绝对路径,,,,注意.....不是文件的绝对路径
导入时需要注意:
1.import导入时,点的后面必须是一个模块或者包名
2.from 导入时.import 后面不能出现点
循环导入:
开发时模块可能有很对,既有可能出现循环导入
浙公网安备 33010602011771号