2010-07-13 2 views
5

인스턴스화 된 클래스 개체의 임의의 목록 속성을 추가 할 수있는 setattr()의 아날로그가 있습니까? 그렇지 않은 경우 권장 방법이 있습니까? 이 투박하고 비효율적 인 것 같다임의의 클래스 개체 목록 속성 추가를위한 Pythonic 구문

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

:

이 내가 현재 뭘하는지의 평범 버전입니다.

편집 : foo.names (또는 attr 변수에 할당 된 임의의 값)가 실제로 목록 인 것으로 가정합니다.

답변

12

setattr 호출 foo.names이 목록은 참으로 경우, 중복 (그것은 뭔가 다른,이다 당신이 명확히하십시오 수 있다면?). getattr(foo, attr).append(value) 만 있으면됩니다.

+0

물론! 고맙습니다. – heydenberk

+0

@heydenberk, 오신 것을 환영합니다! –