例如:
我有一个包含类 CLASS 的模块 A,我还有一个模块 B,它在其方法中使用类 CLASS 作为参数,我有一个模块 C,它使用模块 B。所以我应该导入 A.CLASS 以便可以将 CLASS 作为参数传递到模块 B 中的方法。但是如果我将模块 A 放到另一个包 DEF.. 我会得到一个很长的导入字符串
在模块 B 中为 CLASS 制作别名的最佳方法是使用 B.someMethod(B.CLASS) 和模块 C 对模块 A 一无所知。
现在我在模块 B 中导入 A.Class,然后在模块 C 中使用 import B.CLASS
.# 文件:a.py
class Klass(object):
pass
.# 文件 b.py
from a import Klass
def somemethod(foo):
pass
.# 文件 c.py
from b import somemethod
from b import Klass
somemethod(Klass.field)