用于附加任意类对象列表属性的Pythonic语法

hey*_*erk 6 python

是否有类似的setattr()允许附加实例化类对象的任意列表属性?如果没有,是否有推荐的方法?

这是我目前正在做的一个简单版本:

foo = SomeClass()
...
attr = "names"
value = "Eric"
values = getattr(foo, attr)
values.append(value)
setattr(foo, attr, values)
Run Code Online (Sandbox Code Playgroud)

这看起来很笨拙而效率低下.

编辑:这假设foo.names(或任何可能赋值给attr变量的任意值)实际上是一个列表.

Ale*_*lli 13

setattr呼叫是多余的,如果 foo.names确实是一个列表(如果它是其他的话,你可以澄清一下吗?). getattr(foo, attr).append(value)是你所需要的全部.