我想做的是在创建对象时将字符串列表用作对象的属性。我看到另一个主题讨论通过创建字典将字符串列表用作变量,但这似乎将字符串保留为字符串,我认为这对我不起作用。这是我想要的工作。这是一个DnD练习:
abilities = ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma']
class Character:
def __init__(self):
for ability in abilities:
self.ability = roll_ability() #this is a call to an outside function
谢谢
因为这是D&;D游戏,您可能也需要动态访问能力分数;例如,一个
saving_throw
方法可以使用您用来滚动saving throw的能力的名称。在这种情况下,使用字典而不是单独的属性通常是更好的设计:这是避免使用全局变量的另一个选择:
使用
setattr
:相关问题 更多 >
编程相关推荐