包(package)和模块(modules)
包和模块的由来
为了更好的管理与组织python代码,出现了包和模块的概念,将代码按不同的功能进行整理,
可以提升代码质量以及代码可读性,方便项目进行协同开发。
包和模块的定义
模块,每个python文件就是一个模块,模块中封装功能类似的变量,函数,类型,
可以通过import 关键字 引用。
包,包含多个python文件的文件夹,包含一个名为 __init__.py 的特殊声明文件,可以将大量
功能相关模块包含,统一管理,同样可以通过import 关键字 被其它模块引入重用。
包和模块的复用
两个关键 语法(import 和 from . . import)
1)绝对路径、相对路径
绝对路径,由开发环境软件,打开的根目录到当前目录的完整路径
相对路径,--> . /. .
(from . import xxx # 从模块当前路径下,引入 xxx 模块,
from . . import xxx # 从当前模块父级路径下,引入 xxx 模块)
2)引入
1. import xxx(import可以直接跟 模块名)
xxx.变量/函数/类型
2. from 路径 import xxx
xxx.变量/函数/类型
# 出现下滑曲线报错,说明绝对路径不完整,可标记当前目录(Sources Root)或
修改为完整路径,路径冗长可用 as +代称变量
更多:
from 路径.xxx import 变量名,变量名, # 不推荐,可读性低,不便区分是当前
模块变量或是其他模块变量,造成变量污染
from 路径 import * # 通配符用法,配合 __init__ 特殊模块使用,不推荐,严重浪费内存空间
3)绝对/相对 引入、两种使用情况
1. 如果开发应用软件 --> 产品
第一种引入方式使用较多,
当前模块只会在当前项目中使用。
2. 如果开发工具软件 --> 工具模块
第二种引入方式使用较多,
当前开发的包,可能会被不同的项目引入使用。