我是OOP和python的新手,所以如果这是一个简单的问题,请多多包涵。如果我创建一个具有属性“ a”,“ b”和“ c”的类,这些属性是否可能是数组,使得属性a [2]具有含义?
我搜索并发现的所有答案似乎都在错误的方向上回答!因此,我通过以下几行使其更加明确,希望它有助于澄清我的问题:
例如,我的意思是以下几行中的部分:breakfast=['menuitem2','menuitem3']
:
def main():
menuitem1 = MenuItem()
menuitem2 = MenuItem(title="Cocktail Bun", cost="8.0",long_desc="Cocktail Sweat Bun", short_desc="CB",item_type="bread")
menuitem3 = MenuItem(title="Mexican Bun", cost="7.0",long_desc="Maxican Sweat Bun", short_desc="MB",item_type="dessert")
menu1 = Menu()
menu2 = Menu(breakfast=['menuitem2','menuitem3'],lunch=menuitem3,dinner=menuitem2)
menu3 = Menu(breakfast=menuitem3,lunch=menuitem2,dinner=menuitem3)
menus = [menu2, menu3]
我如何使其起作用?非常感谢您的帮助!
答案 0 :(得分:0)
根据我的理解,我认为这将实现您的追求。
我对您的定义所做的2项更改是
要注意的一件事是,从不使用menu1和menuitem1。我不确定这是否有意。
代码:
class MenuItem:
def __init__(self, title=None, cost=None, long_desc=None, short_desc=None, item_type=None):
self.title = title
self.cost = cost
self.long_desc = long_desc
self.short_desc = short_desc
self.item_type = item_type
class Menu:
def __init__(self, breakfast=None, lunch=None, dinner=None):
self.breakfast = breakfast
self.lunch = lunch
self.dinner = dinner
def main():
menuitem1 = MenuItem()
menuitem2 = MenuItem(title="Cocktail Bun", cost="8.0",long_desc="Cocktail Sweat Bun", short_desc="CB",item_type="bread")
menuitem3 = MenuItem(title="Mexican Bun", cost="7.0",long_desc="Maxican Sweat Bun", short_desc="MB",item_type="dessert")
menu1 = Menu()
menu2 = Menu(breakfast=[menuitem2,menuitem3],lunch=[menuitem3],dinner=[menuitem2])
menu3 = Menu(breakfast=[menuitem3],lunch=[menuitem2],dinner=[menuitem3])
menus = [menu2, menu3]
print(menus[0].breakfast[0].title)
print(menus[1].breakfast[0].title)
print(menus[1].lunch[0].short_desc)
main()