首页 > 解决方案 > 如何使用字符串列表作为变量名/对象属​​性?

问题描述

我想做的是在创建对象时将字符串列表用作对象的属性。我已经看到另一个主题通过创建字典来讨论使用字符串列表作为变量,但这似乎将字符串保留为字符串,这对我不起作用,我不认为。这就是我想要的工作。这是一个 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

谢谢!

标签: pythonclassobjectvariablesattributes

解决方案


使用setattr

def __init__(self):
    for ability in abilities:
        setattr(self, ability, roll_ability())

推荐阅读