0

例如:

我有一个包含类 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)
4

1 回答 1

1

我假设您正在尝试描述这种情况,我在这里看不到任何问题:

我有一个包含类 CLASS 的模块 A

# File: a.py

class Klass(object):
    pass

我有模块 B,它在其方法中使用类 CLASS 作为参数

# File b.py

from a import Klass

def somemethod(foo):
    pass

somemethod(Klass)

我有使用模块 B 的模块 C。所以我应该导入 A.CLASS 以便可以将 CLASS 作为参数传递给模块 B 的方法。

# File c.py

from b import somemethod
from a import Klass

somemethod(Klass)

现在我在模块 B 中导入 A.Class,然后在模块 C 中使用 import B.CLASS

只需 import A.Classin B,因为B.ClassA.Class

于 2013-08-28T09:43:57.377 回答