2010-07-13 14 views
5

Anlık sınıf nesnesinin rasgele bir liste özelliğinin eklenmesini sağlayan bir setattr() analogu var mı? Değilse, bunu yapmanın önerilen bir yolu var mı? Bu aksak ve verimsiz görünmektedirRasgele bir sınıf nesnesi listesi özelliği eklemek için sözdizimsel sözdizimi

foo = SomeClass() 
... 
attr = "names" 
value = "Eric" 
values = getattr(foo, attr) 
values.append(value) 
setattr(foo, attr, values) 

:

Bu şu anda ne yapıyorum bir trivialized versiyonudur.

Düzenleme: Bu, foo.names (veya attr değişkenine ne tür bir rasgele değer atanmış olabilir) aslında bir liste olduğunu varsayar.

cevap

12

setattr çağrı foo.names bir liste gerçekten de ise, gereksiz (bu başka bir şey, var sen açıklamak lütfen nasıl olurdu?). Tek ihtiyacınız olan getattr(foo, attr).append(value).

+0

Tabii ki! Teşekkür ederim. – heydenberk

+0

@heydenberk, rica ederim! –

İlgili konular