为什么__all__只包含字符串对象?

为什么__all__只包含字符串对象?,第1张

为什么__all__只包含字符串对象?

因为它应该是 名称 列表,而不是值列表:

如果标识符列表用星号(

'*'
)代替,则模块定义的所有公共名称都将在该
import
语句发生的作用域的本地名称空间中绑定。

模块定义的 公共名称 是通过检查模块的命名空间中名为的变量来确定的

__all__

如果已定义,则它必须是由该模块定义或导入的名称的字符串序列
。给出的名称
__all__
均被视为公开名称,必须存在。如果
__all__
未定义,则公共名称集将包含在模块命名空间中找到的所有名称,这些名称不以下划线字符(
'_'
)开头。
__all__
应该包含整个公共API。目的是避免意外导出不属于API的项目(例如在模块中导入和使用的库模块)。[语言参考]



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667776.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存