Pythonic 语法用于添加任意类对象列表属性
有没有类似于 setattr()
的方法,可以让我们往一个已经创建的类对象的某个列表属性里添加内容?如果没有,有没有推荐的做法?
这是我现在正在做的一个简化版:
foo = SomeClass()
...
attr = "names"
value = "Eric"
values = getattr(foo, attr)
values.append(value)
setattr(foo, attr, values)
这样做看起来有点笨重,而且效率不高。
补充说明:这里假设 foo.names(或者说 attr 变量可能被赋的任何值)实际上是一个列表。
1 个回答
15
这里提到的 setattr
调用是多余的,前提是 foo.names
确实是一个列表(如果不是的话,可以请你解释一下吗?)。其实只需要用 getattr(foo, attr).append(value)
就可以了。