Python重要名词解释:脚本、模块、包、绝对导入、相对导入
名词解释
脚本(script)
通过执行该文件能够完成某项任务,其中存在必要的任务执行逻辑(一般通过 if __name__ == '__main__:' 代码块明确任务的整体执行逻辑),notebook 也可以列入这一范畴;
模块(module)
Python 对象的集合,其内容为功能实现,目的是方便其它模块和脚本调用,因此不存在自身的运行逻辑(也即需要通过在其它文件中使用 import 语句调用,而非直接通过 python module.py 运行);
包(package)
如果一个目录中存在多个模块,可以通过创建 __init__.py 文件将该当前目录标识为一个包。若多个模块放置于具有多层嵌套的目录当中,其逻辑关系为包(根目录)-> 子包(子目录)-> 模块(*.py);
绝对导入(absolute import)
从包/模块外部,按照目标模块的存在路径从外到内进行导入。绝对导入可以检索到三种来源的包:
Python自带或pip安装的包;
Python解释器启动位置同层模块和包;
人为添加到系统环境变量 PYTHONPATH 的模块和包。
绝对导入示例:
单独的模块:import module;
模块位于包内部(不存在子包):from package import module;
模块位于包内部(存在子包):from package.subpackage import module。
相对导入(relative import)
位于同一包中的不同子包和模块,可以通过前缀.标识存在调用关系的包/模块之间的路径依赖关系并进行相对调用。示例:
同层目录的模块:from . import module;
模块位于同层包内部(不存在子包):from .package import module;
模块位于同层包内部(存在子包):from .packge.subpackge import module;
模块位于上一层级目录:将以上语句的前缀进行替换 from . -> from ..,以此类推。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43958105/article/details/114012590