_init_.py用法

__init__介绍

init.py 文件在 Python 中用于将一个目录转换成一个包。这个文件在 Python 中是空的,其存在是为了遵守 Python 的包结构规定。

当 Python 解释器试图导入一个包时,它会查找这个目录下是否存在 init.py 文件。如果存在,Python 就会把这个目录当作一个包来处理。这允许你组织 Python 代码,并按照需要导入和使用这些模块。

此外,init.py 文件还可以用于执行初始化代码,当包被导入时,该代码将被运行。这可以用来设置包的初始状态,或者执行一些只需要在导入时运行一次的代码。

总的来说,init.py 文件是 Python 包管理的一个重要部分,它使得你可以组织并导入 Python 代码,同时也可以执行一些初始化代码。

__init__运行代码逻辑

在Python中,导入包是指将一个包含Python代码的文件夹视为一个模块,并使用import语句来引入该模块中的函数、类或变量。通过导入包,你可以在代码中使用该模块中的函数、类或变量。

当你在Python解释器或脚本中使用import语句导入一个包时,Python会首先查找该包所在的路径,然后加载该模块的代码。一旦模块被加载,Python会在当前命名空间中创建一个指向该模块的引用。这样,你就可以通过这个引用调用该模块中的函数、类或变量。

需要注意的是,导入包时并不会自动运行该包中的任意其他函数。导入包只是将该模块加载到当前命名空间中,以便后续可以使用其中的函数、类或变量。如果你想在导入包时运行某些函数,可以在__init__.py文件中使用__import__()函数或Python的执行语句来执行特定的代码。

总之,导入包只是将一个包含Python代码的文件夹加载到当前命名空间中,并不会自动运行其中的函数。你可以在需要的时候调用该模块中的函数、类或变量。
当你在Python中使用__init__.py文件时,这个文件会在包被导入时自动执行。你可以在__init__.py文件中编写初始化代码,以设置包的初始状态或执行一些只需要在导入时运行一次的代码。

下面是一个简单的例子来说明__init__.py文件中写初始化代码的运行逻辑:

假设你有一个名为my_package的包,包的结构如下:

arduino
my_package/
init.py
module1.py
module2.py
在module1.py和module2.py中分别定义了一些函数和类。

在__init__.py文件中,你可以编写一些初始化代码,例如:

python
init.py
下面展示一些 内联代码片

// A code block
var foo = 'bar';
# 导入模块中的函数或类  
from .module1 import function1  
from .module2 import Class2  
  
# 初始化代码  
function1()  
  
# 创建 Class2 的实例  
class2_instance = Class2()

当其他代码导入my_package包时,Python会自动执行__init__.py文件中的代码。在上面的例子中,当my_package被导入时,function1()函数会被调用,并且会创建一个Class2的实例,并将其存储在class2_instance变量中。

通过在__init__.py中编写初始化代码,你可以在包被导入时自动执行一些必要的操作,例如加载配置文件、连接数据库等。这种机制使得你可以在包被导入时根据需要来设置包的初始状态,或者执行一些只需要在导入时运行一次的代码。

你可能感兴趣的:(开发常用,python)