有人可以向我解释如何通过遍历名称列表和字典列表来返回类的新实例吗?
我知道我可以使用 解包我的字典**
,并且我知道我可以遍历我的字典列表。
所以我尝试创建一个for
循环函数,Card
为cardList
.
这是我认为可行的代码:
def createCardInstances(x):
for i in range(len(x)):
namesOfCards[i] = Card(**cardList[i])
return namesOfCards[i]
namesOfCards
是一张卡片名称列表,我想将其转换为Card
该类的实例。cardList
是表示卡片及其值的字典列表。
例如,我可以这样做:
Knight = Card(**cardList[0])
哪个工作正常。但是,如果我正在开发一款纸牌游戏并且拥有超过 100 张或更多的单独卡片,我希望避免每次都必须单独写出每张卡片名称并复制\粘贴=Card(**cardList[])
代码。
如何自动创建新实例?这甚至可行吗?
编辑:
我正在尝试使用其中的名称namesOfCards
来创建Card
. 有人建议我在创建纸牌游戏时学习 python 的下一步是使其更加面向对象。
所以我现在的目标是使用保存在列表中的卡片名称namesOfCards
来创建Card
. IE:
[Knight, Mage, Warrior, ...]
我希望有能力接受这些并做到这一点:
Knight = Card(**cardList[0])
Mage = Card(**cardList[1])
Warrior = Card(**cardList[2]
等等等等。
那可能吗?或者我是否需要使用列表理解建议将所有类实例存储到一个列表中,然后必须使用new_cards[0].name
or访问这些实例new_cards[1].attack
?