如何设置/获取由x
给出的t
属性的值。如何访问对象属性给定字符串对应于该属性的名称
class test():
attr1 = int
attr2 = int
t = test()
x = "attr1"
如何设置/获取由x
给出的t
属性的值。如何访问对象属性给定字符串对应于该属性的名称
class test():
attr1 = int
attr2 = int
t = test()
x = "attr1"
getattr(object, attrname)
setattr(object, attrname, value)
功能在这种情况下
x = getattr(t, "attr1")
setattr(t, 'attr1', 21)
有内置函数蟒蛇SETATTR和GETATTR。它可以用来设置和获取类的属性。
一个简单的例子:
>>> from new import classobj
>>> obj = classobj('Test', (object,), {'attr1': int, 'attr2': int}) # Just created a class
>>> setattr(obj, 'attr1', 10)
>>> setattr(obj, 'attr2', 20)
>>> getattr(obj, 'attr1')
10
>>> getattr(obj, 'attr2')
20
重复:http://stackoverflow.com/questions/1887509/access-to-class-attributes-by-using-a-variable-in-python – 2010-04-10 11:40:37
可能的复制[Python:从字符串访问类属性](http://stackoverflow.com/questions/1167398/python-access-class-property-from-string) – fejese 2016-05-13 16:07:57