python:

mac2025-01-06  5

__init_.py的作用:简化包导入,具体看下面的解释。一个目录算一个包。

1)没有__init_.py的情况。

包A,A下面有一个文件a1.py,而a1.py里面就写了一个函数funa.

现在,我写一个main.py,去导入A包的函数funa。

发现导入的第一行会报错,第二行是正确的,不能直接用包名,必须跟上具体文件名。

2)增加一个__init_.py,内容如下。

 再看main.py的导入第一行是不是不报错了,这样以后使用,直接写包名就可以了。

3)加深理解,如果一个包下有3个文件,每个文件有1个函数,如果没有__init__.py,你每次调用的时候,必须指定哪个函数,在哪个包,在包中哪个文件中,如果有了__init__.py ,就不需要这些细节,只要知道来自哪个包的哪个函数就可以了,不需要具体在包中哪个文件中。如下例子

把外部需要调用的函数都写在__init__.py中。然后main.py调用就写成如下内容,简化了包使用的导入。

最新回复(0)