从package import*调用模块是否可以访问命名空间?

2024-10-03 00:20:20 发布

您现在位置:Python中文网/ 问答频道 /正文

当我们使用from package import *时,没有任何东西真正被导入,除非以下任一项为真:

  1. pakcage的__init__文件定义了一个__all__变量,其中包含要导入的模块列表。

  2. 包的__init__文件的代码类似于import module1from package import module1

我只想得到一个确认,在这两种情况下,只有指定的模块运行,并且它们被加载到包的__init__文件命名空间中,而不是在调用文件的命名空间中(与使用import moduleimport package不同,在这种情况下,我们获得对该模块/包命名空间的引用)


Tags: 模块文件代码fromimportpackage列表定义