【发布时间】:2016-06-13 18:59:18
【问题描述】:
在 Python 约定中,模块的导入是否应该被视为其公共接口的一部分?
我有一些代码可以做到这一点:
foo.py:
from a import b
bar.py:
from foo import b
我正在尝试决定是否重构 bar.py 以直接从 a 导入 b。我想在某些情况下,您可能希望 foo.py 控制 bar.py 使用的 b 的实现。但如果不是这样,让两个模块以相同的方式导入它不是更好的做法吗?
【问题讨论】:
-
如果您想将它们设为私有,您可以随时使用
import b as _b。此外,这个问题似乎有点基于意见,如果你能想出一种更客观的方式来改写它,以防止这个问题被关闭为题外话。
标签: python import conventions