我知道为什么这是一个坏主意,但这似乎是一个很好的例子,我想听听为什么我错了,以及我的替代品是什么。python:“从模块导入*”的情况?
我有充满核心逻辑的thing.py。
我有appthing.py,它希望使用该逻辑,同时为我们使用的环境添加一些特定于应用程序的事物,例如通过应用程序的内置持久存储功能保存关于所述逻辑的用户设置。 py会与之交互以恢复状态,等等。
我可以(在我看来):
- 重复thing.py在appthing.py函数名;这些调用原件
- 电话的事情,他们是:appthing.func1,appthing.thing.func2等
- 进口都在从进口的东西莫名其妙*
- 并行使用它们,并与appthing.funcs到处 工作
我不想做1 - 我讨厌重复的代码/工作。 2似乎是一个忍耐(appthing.settingA成为appthing.thing.settingA)。总的来说,3似乎是一个糟糕的主意。这留下了4,导入*,我知道这是错误的,但在这种情况下,它似乎没问题。
你说什么?我的选择5是什么?谢谢。
我应该注意,在任何地方都没有任何类。我试图打破所有地方上课的习惯。这些都不需要它,所以简单地在模块之间进行子类化。
您可以提供一个简短的代码样例来代替文字说明吗? – 2012-04-03 08:43:05
请阅读有关问题的常见问题部分不要问。这个问题征求意见,并没有正确的答案,所以它不被认为是这个网站的主题。 – agf 2012-04-03 08:57:27
对不起,agf。我认为这是一个正确的答案,即处理这个特定问题的标准方法。这就是我所期望的选项5。 – 2012-04-03 09:20:17