python包管理!🍩
python包管理
上图所示是文件的结构。每个包下都有一个__init__。
__init__.py
文件可以包含一些常用的初始化代码,例如:
- 定义模块级别的变量、常量或函数:在
__init__.py
中定义的内容可以在包的其他模块中直接使用,而不需要使用相对导入或绝对导入。 - 导入子模块:通过在
__init__.py
中导入子模块,可以使得使用者只需要导入包,而不需要逐个导入包中的每个模块。 - 执行一些初始化操作:例如加载配置、注册组件、设置环境等。
- 指定导入行为:通过在
__init__.py
中定义__all__
变量,可以指定使用from <package> import *
语句导入时的行为。 - 自定义包的行为:可以在
__init__.py
中重载一些特殊的魔术方法,从而自定义包的行为,例如__getattr__
、__setattr__
等。 - 包版本号管理:可以在
__init__.py
中定义包的版本号,方便其他模块获取当前包的版本信息。
上图所示是state包下的init文件,其中.
表示当前目录或模块。
我们将对state包下不同文件的类引用写入transit包下的init中。
上图是core包下的init文件,我们在引入state包下的文件中的类时,就可以直接用.state
引用,这样做的目的是简化了引用的复杂度。
上图是mimic包下的init文件,我们在其中直接对core进行引用。
如上图所示,我们可在mimic包外的包中用干净的方式实现对不同文件下类的引用。
python包管理!🍩
https://yangchuanzhi20.github.io/2024/02/01/算法/python/python方法和技巧/python包管理/