请考虑以下 Python 模块摘录:
foo.py:
class Foo:
(...)
酒吧.py:
import foo
foo = foo.Foo()
变量 foo 是一个模块对象,被 Foo 对象覆盖。
我知道我可以为对象使用其他名称,例如:
foobar = foo.Foo()
但从语义上讲,在我的代码中将它称为 foo 更有意义,因为它将是唯一的实例。
(我试图通过删除类并仅使用模块来解决此问题,但我又回到使用类,因为使用模块只有“健壮性”问题。)
这是一个哲学问题,但是处理这种潜在的对象/模块名称冲突的“正确”方法是什么?