python包管理!🍩

python包管理

上图所示是文件的结构。每个包下都有一个__init__。

__init__.py文件可以包含一些常用的初始化代码,例如:

  1. 定义模块级别的变量、常量或函数:在__init__.py中定义的内容可以在包的其他模块中直接使用,而不需要使用相对导入或绝对导入。
  2. 导入子模块:通过在__init__.py中导入子模块,可以使得使用者只需要导入包,而不需要逐个导入包中的每个模块。
  3. 执行一些初始化操作:例如加载配置、注册组件、设置环境等。
  4. 指定导入行为:通过在__init__.py中定义__all__变量,可以指定使用from <package> import *语句导入时的行为。
  5. 自定义包的行为:可以在__init__.py中重载一些特殊的魔术方法,从而自定义包的行为,例如__getattr____setattr__等。
  6. 包版本号管理:可以在__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包管理/
作者
白色很哇塞
发布于
2024年2月1日
许可协议