我在一個文件中有一個父類,在另一個文件中有一個子類,我試圖在第三個類中使用它們。的排序是這樣的:Python:從不同模塊導入父類和子類
test1.py
class Parent(object):
def spam(self):
print "something"
test2.py
class Child(Parent):
def eggs(self):
print "something else"
test3.py
from test1 import *
from test2 import *
test = Child()
運行test3.py給了我以下內容:
File "[path]\test2.py", line 1, in <module>
class Child(Parent):
NameError: name 'Parent' is not defined
我是否需要將我的父母和子女班全都放在同一個地方?
這是衆多原因,從'富進口*'是壞的。它使得這種混淆更容易陷入困境,而且更難以通過。如果你剛剛做了'import test1',答案會很明顯:你需要'class Child(test1.Parent)',因此你需要'import test1'。通過這樣做,答案很難解釋 - 您需要了解每個模塊全局變量的工作方式,以及「導入」如何工作,然後才顯而易見。 – abarnert