我的问题原则上相当一般。我有一个名为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是
对不起,但我不明白这对我有何帮助。问题中的“项目”可以是任何东西,没有什么限制项目不是“词典”或“列表”,但我确实希望可以选择与“父项目”类别相同的项目, –