我的問題原則上相當一般。我有一個名爲Menu
的課程,其名稱爲items
,其中一個或多個項目可以是字符串,也可以是Menu
的另一個實例。我的代碼看起來是這樣的:實現同一類的子對象
class Menu():
def __init__(self):
self.items = []
def add_item(self, item):
self.items.append(item)
def add_menu(self):
self.add_item(Menu())
正如你可以看到我已經用它的功能之一中的類Menu
的實際名稱。我的問題是,如果可以在不寫類的實際名稱的情況下做到這一點,而是通過引用它在什麼類中定義?舉例來說,我已經試過
self.add_item(super(self))
其中給出TypeError: super() argument 1 must be type, not Menu
也試過
self.add_item(super())
,如果沒有錯誤運行,但它插入的對象是<super: <class 'Menu'>, <Menu object>>
我開始懷疑我在工作中使用錯誤的工具,我的問題是我做錯了什麼?並且甚至可能引用我所需要的類型?
如果這是我的有關Python版本3.5.3是
對不起,但我不明白這對我有何幫助。問題中的「項目」可以是任何東西,沒有什麼限制項目不是「詞典」或「列表」,但我確實希望可以選擇與「父項目」類別相同的項目, –