Python中“ __package__”属性的用途是什么?

我只想知道 是 ?甚至在SO上也没有在官方文档中找到任何解释。

如果您能提供一些例子,我将非常高兴。

回答:

请参阅PEP

366和导入系统参考文档:

提议的主要更改是引入了新的模块级别属性__package__。如果存在,则相对导入将基于此属性而非模块__name__属性。

*

__package__应该设置模块的属性。它的值必须是字符串,但可以与其值相同__name__。如果该属性设置为None或丢失,则导入系统将使用更合适的值填充该属性。当模块是软件包时,其__package__值应设置为__name__。如果模块不是软件包,__package__则对于顶级模块或子模块,应将其设置为空字符串,并将其设置为父软件包的名称。有关更多详细信息,请参见PEP

366。

因此,对于位于中的模块foo/bar/baz.py__name__将设置为foo.bar.baz,并将__package__其设置为foo.bar,而同时对和属性foo/bar/__init__.py都具有。foo.bar``__name__``__package__

以上是 Python中“ __package__”属性的用途是什么? 的全部内容, 来源链接: utcz.com/qa/417255.html

回到顶部