相对而言,这是Python的新手。我在循环导入时遇到错误,因此我将所有导入语句更改为import *module name*
我想做这样的事情(下面是module2):
import module1
class Subclass(Superclass)
# some code
其中超类是在modeule1中定义的,而子类是从超类继承的。
我收到未定义超类的错误。我也尝试过使用class Subclass(module1.Superclass)
,但似乎无法弄清楚如何使其工作。谢谢!
答案 0 :(得分:0)
您可以执行以下任一操作:
import module1
class Subclass(module1.Superclass):
pass
#some code
或者:
from module1 import Superclass
class Subclass(Superclass):
pass
#some code
Python需要知道1)它可以通过其访问该类的名称空间,或者2)显式导入该类。
为清楚起见,module1
如下所示:
class Superclass:
pass
#some code
示例
对于module1.py
:
class Superclass:
def __init__(self):
pass
def a(self):
print('a')
def b(self):
print('b')
然后是module2.py
:
from module1 import Superclass
class Subclass(Superclass):
pass
x = Subclass().a()
运行module2.py
将返回:
a