2
如果我運行此代碼:Python類的實例變量繼承力學
class Super:
def __init__(self, name):
self.name = name
class Sub(Super):
def publ(self):
print("works")
a = Sub()
按計劃它成功地失敗,此消息:
TypeError: __init__() takes exactly 2 arguments (1 given)
,但它給了我竊聽問題:
在哪裏這些信息是關於參數條目的子類需求存儲的?我的意思是如何SUB()知道它需要「名稱」作爲參數? 什麼是定義它如何從Super()繼承「知識」的機制。
那麼,有沒有方法來檢索通過子超() 「name」 屬性?像這樣:a .__ class __.__ bases __ [0] .__ dict__ –
通常引用一個屬性。例如'print(「我有一個名字:」,self.name)' – dsh
我看起來更像是一個元信息。可以說我不需要這樣的價值。我正在尋找結構和關係類型信息。 是否有「Xpath like」的方式來檢查Super()將需要什麼,因爲當我檢查「a .__ class __.__ bases __ [0] .__ dict__」時,它會在dict中顯示我__init__,但它不會顯示「name」 。其中Sub()「將」該名稱視爲它將使用的元信息,並且有一種方法可以從實例Sub()透視圖中看到它。 –