考慮以下幾點:什麼是傳遞給模塊__init __()的隱式參數?
ParentModule.py
class ParentClass():
def __init__(self):
pass
ChildModule.py
class ChildClass(ParentClass):
def __init__(self):
pass
如果在ChildModule
,我錯誤地導入父模塊,而不是父類,即:
import ParentModule
而不是正確的
from ParentModule import ParentClass
我會收到以下錯誤:
TypeError: module.__init__() takes at most 2 arguments (3 given)
到底什麼是傳遞到ParentModule's __init__()
這3個參數隱? ParentModule.__init__()
期望的2個參數是什麼?
如何利用此功能?
我無法重現。兩個模塊都在同一個目錄中嗎?我得到的唯一錯誤是:'NameError:name'ParentClass'未定義'。 –
是的,'ParentClass'和'ParentModule'很可能在實際代碼中有相同的名稱,或者真正的代碼有'class ChildClass(ParentModule)'而不是'class ChildClass(ParentClass)'。 – user2357112
@ChristianDean:是的,真正的模塊/類名稱將是Parent.Parent和Child.Child,但我覺得使用該術語沒有說明問題。如果你認爲這樣會更清楚,隨意編輯這個問題。 –