【发布时间】:2011-01-22 14:22:20
【问题描述】:
我很难理解我的项目中 python 的__init__.py 文件的使用场景或设计目标。
假设我有一个包含以下文件的“模型”目录(称为包)
__init__.pymeta.pysolrmodel.pymongomodel.pysamodel.py
我找到了两种使用__init__.py的方法:
我有一个共同的定义,需要在
solrmodel.py、mongomodel.py、samodel.py中使用。我可以使用__init__.py作为所有 *model.py 类的基本/通用定义吗?这意味着我必须导入model/__init__.py。-
或者,
__init__.py应该有自己的 solrmodel.py、mongomodel.py、samodel.py 的导入定义,它允许像这样轻松导入类或函数:# file: __init__.py from mongomodel import * from solrmodel import * from samodel import *(我知道不推荐
import *,我只是将其用作约定)
我无法在上述两种情况之间做出决定。 __init__.py还有更多的使用场景吗,能解释一下用法吗?
【问题讨论】:
-
似乎 stackoverflow 在渲染降价方面存在问题。编辑时显示_init_.py,但显示时显示init.py。有人可以修复 _init_.py 约定吗?
-
使用反引号将其放入代码块中,如下所示:
`__init__.py`。或者对 __init__.py 使用 \ like\\_\\_init\\_\\_.py。下划线用于斜体。
标签: python module initialization packages