python中包初始化有什么好处?

python中包初始化有什么好处?

除了标识一个包,__init__.py还有一个目的 – 包初始化。这就是为什么它被称为init!初始化是在包导入时触发的,换句话说,导入包时调用__init__.py。当你导入一个包时,包内的__init__.py模块被执行。

1、好处

在__init__模块中,你可以做任何你想做的事情,但最常用的是用于一些包初始化或设置专用的__all__变量。后者控制*(通配符)导入 – from package import *。

我们可以在__init__模块中做很多事情,甚至是很奇怪的事情。假设我们不喜欢显式导入,并且希望将所有模块符号上升到包级别,这样我们就不必记住实际的模块名称。

2、实例

为此,我们可以在__init__.py中像这样导入menu和pizza模块中的所有东西。

#pizzapy/__init__.py

frompizzapy.pizzaimport*
frompizzapy.menuimport*

结果:

>>>importpizzapy
pizza.pymodulenameispizzapy.pizza
pizza.pymodulenameispizza
>>>pizzapy.MENU
[<pizza.Pizzaobjectat0x7f1bf03b8828>,<pizza.Pizzaobjectat0x7f1bf03b8860>,<pizza.Pizzaobjectat0x7f1bf03b8908>]