给一个类的自身命名一个变量名

时间:2019-08-26 03:13:30

标签: python class

是否可以在自己不知道字键的情况下,在自身上使用输入名称,例如yaml / dict键?

意思是,如果有一些数据,例如:

entries = [
    {'foo': 'foo 1', 'bar': 'bar 1'},
    {'foo': 'foo 2', 'bar': 'bar 2'},
]

如何在不显式预编程“ foo”和“ bar”来命名自变量的情况下进行以下操作?

class entry(object):
    def __init__(self):
        self.foo = entries[0]['foo']
        self.bar = entries[0]['bar']

我想这些自赋值不必命名为foo和bar,但至少能够这样引用它们。

1 个答案:

答案 0 :(得分:1)

您可以使用内置函数setattr在Python中的对象上添加/设置属性

def __init__(self):
    for k, v in entries[0].items():
        setattr(self, k, v)