在Python中__init__.py的作用

在Python中,init.py 文件是一个特殊的文件,它用于将一个目录标记为一个Python包。这个文件可以是空的,也可以包含初始化代码,该代码会在导入包时运行。
作用一:标记目录为Python包
在一个目录下创建__init__.py文件,Python解释器会将这个目录视为一个包,而不是一个普通的目录。这样你就可以在这个包内定义模块,并且可以通过点号(.)语法来引用这些模块。

#目录结构
my_package/
    __init__.py
    module1.py
    subpackage/
        __init__.py
        module2.py
#使用
import my_package.subpackage.module2

作用二:初始化代码
当Python首次导入一个包时,init.py文件中的代码会被执行。这可以用来设置包的状态,比如注册插件、初始化全局变量或者执行任何必要的设置操作。

# __init__.py 内容
print("Initializing my package...")
register_plugins()

作用三:控制__all__变量
用来控制包级别的__all__变量,这个变量是一个列表,它指定了当使用from package import *时应该导入哪些模块或对象。如果不定义__all__,Python会导入所有以_(下划线)开头的名称,这是不希望看到的,因为通常我们会使用_前缀来表示私有变量。

# __init__.py 内容
__all__ = ['module1', 'module2']
# 当使用from my_package import *时,只有module1和module2会被导入

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