在Python中向类添加值

2024-05-23 19:36:18 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我在Python中有以下内容:

class Test():
    self.value1 = 1
    self.value2 = 2

def setvalue1(self, value):
    self.value1 = value

因此,可以通过执行以下操作来设置value1:

^{pr2}$

或者

Test.Value1 = 'Hola'

到目前为止还不错。我的问题是,我希望通过在其他地方读取值来设置值,例如,我可以获得以下值:

A = [['Value1','Hola'],['Value2','Adios']]

我希望能够运行一些东西(在伪代码中):

for each in A:
    Test.each[0] = A[1]

这可能吗?非常感谢!在


Tags: testselfvaluedef地方classeachvalue1
2条回答

迭代数据结构并在类的实例上使用^{}

test = Test()

data = [('Value1', 'Hola'), ('Value2', 'Adios']
for k, v in data:
    setattr(test, k, v)

这种数据结构btw通常被认为是“key/value”对,您可以在这里使用Python字典(dict)。在

示例:

^{pr2}$

现在让我们修复您的Test类:

class Test(object):

    def __init__(self):
        self.value1 = 1
        self.value2 = 2

    def setvalue1(self, value):
        self.value1 = value

你可以这样做:

class Test:

    def __init__(self):
        self.val1 = 1



t = Test()
setattr(t, 'val2', 2)

print t.val2

或者像这样:

^{pr2}$

相关问题 更多 >