我可以使用__init__.py定义全局变量吗?

我可以使用__init__.py定义全局变量吗?,第1张

我可以使用__init__.py定义全局变量吗?

您应该能够将它们放入

__init__.py
。这一直都在做。

mypackage/__init__.py

MY_ConSTANT = 42

mypackage/mymodule.py

from mypackage import MY_ConSTANTprint "my constant is", MY_CONSTANT

然后,导入mymodule:

>>> from mypackage import mymodulemy constant is 42

不过,如果您确实有常量,则将它们放入单独的模块(constants.py,config.py,…),然后将其放入包名称空间中是合理的(可能是最佳实践),然后导入他们。

mypackage/__init__.py

from mypackage.constants import *

尽管如此,这并不会自动在包模块的名称空间中包含常量。包中的每个模块仍然必须从

mypackage
或从中显式导入常量
mypackage.constants



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

原文地址:https://www.54852.com/zaji/5646716.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存