除了标识一个包,__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>]
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)