除了标识一个包,__init__.py还有一个目的 - 包初始化。这就是为什么它被称为init!初始化是在包导入时触发的,换句话说,导入包时调用__init__.py。当你导入一个包时,包内的__init__.py模块被执行。
1、好处
在__init__模块中,你可以做任何你想做的事情,但最常用的是用于一些包初始化或设置专用的__all__变量。后者控制*(通配符)导入 - from package import *。
我们可以在__init__模块中做很多事情,甚至是很奇怪的事情。假设我们不喜欢显式导入,并且希望将所有模块符号上升到包级别,这样我们就不必记住实际的模块名称。
2、实例
为此,我们可以在__init__.py中像这样导入menu和pizza模块中的所有东西。
# pizzapy/__init__.py from pizzapy.pizza import * from pizzapy.menu import *
结果:
>>> import pizzapy pizza.py module name is pizzapy.pizza pizza.py module name is pizza >>> pizzapy.MENU [<pizza.Pizza object at 0x7f1bf03b8828>, <pizza.Pizza object at 0x7f1bf03b8860>, <pizza.Pizza object at 0x7f1bf03b8908>]
以上就是python中包初始化的好处,希望能对大家有所帮助,更多知识尽在python学习网。