我有兩個文件,一個聲明一個涉及涉及子類的方法的超類,另一個定義子類。在Python中的兩個不同文件中聲明一個類和子類
文件1:
from file2 import subclass
class superclass:
def __init__(self):
"Stuff"
def method(self):
temp = subclass()
"Stuff"
文件2:
from file1 import superclass
class subclass(superclass):
def __init__(self):
"Stuff"
當我運行文件1的代碼中,我得到一個錯誤的內部文件2即超沒有定義。這是因爲我在定義超類之前先導入file2。
但是,如果我在定義超類後導入file2,我會在file1中得到一個錯誤,說明子類沒有定義。這是因爲我在方法中使用了一個子類實例。
解決此問題的一個辦法是在一個文件中同時存在超類和子類聲明,但我想知道是否有辦法讓它們在不同的文件中聲明。
您不能像這樣進行循環導入。您不能將file1導入file1,file2導入file1。爲什麼必須file2導入file1? –
@Bryan Oakley在你聲明子類之前,子類是否需要定義超類? – Keagan
是的,它的確如此。你必須在定義一個子類之前定義一個超類 –