我有下面的類設置:如何使用Python中的一系列字典中的值創建類實例?
class Card(object):
def __init__(self, name="", attack=0, defense=0, magic=0, shield=0, description=""):
self.name = name
self.attack = int(attack)
self.defense = int(defense)
self.magic = int(magic)
self.shield = int(shield)
self.description = description
我想提出利用csv.dictreader
創建詞典列表的Card
實例。
這裏是確定我cardList
回報的方法:
[
{'Magic': '200', 'Shield': '100', 'NameOfCard': 'Knight', 'Attack': '700', 'Defense': '400', 'Description': ''},
{'Magic': '500', 'Shield': '500', 'NameOfCard': 'Mage', 'Attack': '0', 'Defense': '0', 'Description': ''},
{'Magic': '100', 'Shield': '100', 'NameOfCard': 'Peasant', 'Attack': '100', 'Defense': '100', 'Description': ''},
{'Magic': '0', 'Shield': '0', 'NameOfCard': 'Lancer', 'Attack': '400', 'Defense': '100', 'Description': ''},
{'Magic': '100', 'Shield': '200', 'NameOfCard': 'Guardian', 'Attack': '100', 'Defense': '600', 'Description': ''},
...]
我希望能夠使用'NameOfCard'
值命名實例,然後該值映射到由__init__
採取的論點方法在Card
類中。
我首先想到的是做這樣的事情:
Knight = Card(cardList[0]('NameOfCard')...)
但調用print Knight.name
回報TypeError: 'dict' object is not callable
。
如何使用我的dicts列表來創建Card
類的實例?
謝謝!這工作,就像上面的答案一樣。我不知道**的能力。 – bhamhawker