在我们公司的生产代码中,我们尝试遵循以下规则。
我们将导入文件放置在文件的开头,紧随主文件的文档字符串之后,例如:
"""Registry related functionality."""import wx# ...
现在,如果我们导入的类是导入模块中为数不多的类之一,那么我们将直接导入名称,因此在代码中我们仅需使用最后一部分,例如:
from RegistryController import RegistryControllerfrom ui.windows.lists import ListCtrl, DynamicListCtrl
但是,有些模块包含数十个类,例如,所有可能的异常的列表。然后,我们导入模块本身,并在代码中对其进行引用:
from main.core import Exceptions# ...raise Exceptions.FileNotFound()
我们
import X asY尽可能少地使用,因为这会使搜索特定模块或类的使用变得困难。但是有时候,如果您想导入两个名称相同但存在于不同模块中的类,则必须使用它,例如:
from Queue import Queuefrom main.core.MessageQueue import Queue as MessageQueue
通常,我们不会在方法内部进行导入-它们只会使代码变慢并且可读性降低。有些人可能会发现这是轻松解决循环导入问题的好方法,但是更好的解决方案是代码重组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)