我怎么能有一个文件,总是导入时,然后模块导入?你知道吗
例如:考虑这个模块。你知道吗
/ myMod
/ __init__.py
/ important.py # defines myFunc
/ extraFunctions.py
/ classDefinitions.py
任何使用模块的人都可以使用的所有函数重要.py。我要重要.py默认包含在myMod中。所以使用模块是这样的。你知道吗
import myMod
myMod.myFunc()
而不是
from myModimport important
important.myMod()
或者
import myMod
myMod.important.myFunc()
important.py
是否应该重命名为__init__.py
、main.py
或__main__.py
,或者__init__.py
是否可以编辑为将important.py
作为默认值,甚至只是从中选择函数?你知道吗
除了Raydel的回答之外,我还想补充一点:如果您的
important
模块包含您不想导出的私有函数,那么有一种方法可以控制它。举个例子:使用魔法变量
__all__
,您可以控制哪个函数得到export。你知道吗更新
从
__init__.py
,您可以执行以下操作:这是控制导入哪个实体(函数、变量)的另一种方法。你知道吗
但是,如果从
__init__.py
,则可以执行以下操作:或:
这意味着您可以重写
__all__
魔术变量。在我看来,前一种方法更好,因为它不会使private1
对那些导入myMod
的人可用。你知道吗您不必将
important.py
重命名为__init__.py
,只需添加到__init__.py
文件:仅此而已。你知道吗
相关问题 更多 >
编程相关推荐