如何在 python 中将一个对象添加为另一个对象的字段

How to add an object as a field of another in python

我正在尝试让玩家能够装备护身符。唯一的问题是,我已经将护身符变成了一个对象,我希望 player.bracelet1 字段存储一个对象......这是商店系统中的一个字符串 :( 我应该只使用很多 if 循环吗?或者是有什么方法吗?这是必要的代码。可能会有一些漏洞,因为我的代码很长,我试着只放了必要的:

shop_stock=stock_dict[shop_id]
        with open(shop_stock,'r') as f:
            content=f.readlines()
        items_on_sale=[]
        for i in range (0,3):
            items_on_sale.append(content[r.randint(0,len(content)-1)].strip())
    action=int(input('What would you like to buy? (1,2 or 3)'))
    item_bought=items_on_sale[action-1]
    item_price=price_dict[item_bought]
    player.money-=item_price
    action=input(f'Do you want to equip your new {item_bought}?')
    if action in yes_inputs:
        equip_item(item_bought)
        elif action in no_inputs:
        player.backpack.append(item_bought)        
       
    def equip_item(item) 
        action=int(input(f'Would you like to equip your {item} as a '\
                         'right wrist bracelet(1), a left wrist bracelet(2) or'\
                         'a necklace(3)?'))
            if action==1:
            
                    player.bracelet1=item
            elif action==2:
                player.bracelet2=item
               
            elif action == 3:
               player.necklace=item
    #just to debug and check it works        
    print(player.bracelet1)

所以这只是我从我的功能中删除的一块,如果还有其他东西,请告诉我:D PS: 我没有把它放在这里但是每个护身符 (Small/Medium/Large Strength/Defense/Health) 有三个字段所以我真的不能没有对象...

所以,我找到了解决方案。问题不是意外的输出,而是我不知道该怎么做。好吧,当我意识到你可以在字典中使用对象时,我找到了一个解决方案,这使得它非常不言自明,即使写整个字典有点乏味