런타임 중에 클래스 내의 특정 목록에 변수를 바인딩하려고합니다. 아래의 스 니펫은 작동하지만 변수 대신 eval 표현식에 클래스 이름을 지정하고 싶습니다. 즉 동등한 : 분명히 작동하지 않습니다 ...하지만 함께 "foo는 '와'mybin '를 붙입니다하려고 다양한 화신 후 구문을 알아낼 수 없습니다런타임시 특정 클래스 변수를 대상으로하는 python eval
mybin = 'bin2'
eval(foo.mybin)
.
class A:
bin1 = [3,6,9]
bin2 = [12,14,25]
foo = A()
mybin = 'foo.bin2'
for bin in eval(mybin):
print bin
출력 :
12
14
25
위험이! 나는 python에 익숙하지 않고 전에 getattr을 뛰어 넘지 못했습니다. 팁 고마워! –