init的用法

init的用法

    • 1. 作用和常见用途
      • 1.1 标记目录为Python包
      • 1.2 简化 API 接口暴露, 目录结构如下
        • 1.2.1 如果没有__init__.py文件中,我们在main.py中需要如下才能访问变量,我们需要从Python文件中获取我们需要的资源。
        • 1.2.2 如果有__init__.py文件中,我们可以在__init__py文件中将资源汇聚出来
        • 1.2.3 然后在外边的main.py就可以这么使用
      • 1.3 初始化包级别的变量或配置
        • 1.3.1 在外边的使用
      • 1.4 控制通配符导入
        • 1.4.1 在__init__.py中定义__all__列表,可以控制from package import *时导入哪些模块或变量。
        • 1.4.2 在里面的包定义的变量和方法
        • 1.4.3 在main中的使用, 我们在init中没有暴露C,所以报错
      • 1.5 延迟加载
        • 1.5.1 具体的代码
      • 1.6 单元测试的妙用
        • 1.6.1 在测试框架中,__init__.py可以用于批量导入测试用例。
        • 1.6.2 在__init__.py文件中,我们可以这样写:
        • 1.6.3 只需执行python -m tests即可运行所有测试。是不是方便了很多呢?

1. 作用和常见用途

1.1 标记目录为Python包

没有__init__.py,Python 不会认为这是一个包,也就无法通过import package_name的方式引入它。

1.2 简化 API 接口暴露, 目录结构如下

main.py
demoA/
├── __init__.py
├── module_a.py  # 定义变量A
└── module_b.py  # 定义变量B
1.2.1 如果没有__init__.py文件中,我们在main.py中需要如下才能访问变量,我们需要从Python文件中获取我们需要的资源。

main.py

# 没有配置__init__.py的, 在main.py的写法

from demoA.module_a import A
from demoA.module_b import B

print(A)
print(B)
1.2.2 如果有__init__.py文件中,我们可以在__init__py文件中将资源汇聚出来

__init__.py, 需要在init的文件中写入, 将里面的变量暴露给外部

# __init__.py

from .module_a import A
from .module_b import B

1.2.3 然后在外边的main.py就可以这么使用

# main.py
from demoA 

你可能感兴趣的:(python,开发语言)