这与Importing modules in Python - best practice 密切相关,但是以下情况并未真正详细讨论。
如果我们有一个模块coordinates
定义了一个类Coordinates
和几个实用程序函数来使用Coordinates
类型。建议执行以下两件事的方法是什么:
coordinates
模块Coordinates
绑定到coordinates.Coordinates
时我现在看到的两个选项:
import coordinates
from coordinates import Coordinates
但这似乎有点奇怪,另一方面,我看到的另一种解决方案也不是很干净:
import coordinates
Coordinates = coordinates.Coordinates
这两个中的哪个是最常用或首选的方式?或者也许不应该同时使用这两种方法,那么哪种方法更好呢?
我正在考虑的另一种选择是,我希望避免的是所引用问题中的一个建议:import coordinates as crd
,然后仅使用crd.Coordinates
而不是Coordinates
。之所以要避免这种情况,是因为它会使我的代码可读性降低,尤其是当我使用coordinates
模块中的函数时。对于这种选择,我可能更愿意简单地调用coordinates.Coordinates
,即使这看起来很多余。
我还考虑过making my module callable使coordinates()
能够自动呼叫Coordinates()
,但我也不确定这是否是一个很好的解决方案(而且我不确定如何在这种情况下,请处理文档)。
答案 0 :(得分:0)
这是个人喜好问题,但对于我自己,我会选择:
from coordinates import Coordinates
除非,也就是说,您正在使用coordinates
模块中的三到四个东西,或者您要从其中导入的名称之一与您使用的名称发生冲突正在从其他地方使用。在任何一种情况下,请选择
import coordinates