2013-07-28 2 views
2

저는 파이썬에 익숙하지 않습니다. 저는 검색과 검색을 해왔지만 이것에 대한 유용한 답을 찾을 수 없습니다.문자열을 사용하여 클래스의 인스턴스를 참조하는 방법은 무엇입니까?

나는 등 클래스라는 이름의 도구 1, TOOL2의 인스턴스를 가지고

나는 사용자 입력에 의해 정의되는 문자열을 가지고의 인스턴스 중 하나에 변수 (current_tool)을 설정하기 위해 동일을 어떻게 사용합니까 클래스? 예를 들어 :

tool1 = ... 
tool2 = ... 

current_tool = 0 

my_string = 'tool1' 

어떻게 current_tool = tool1을 수 있도록 my_string 동일 current_tool 설정합니까?

필자는 본질적으로 문자열에서 따옴표를 제거하여 문자열이 단지 코드 조각이되도록하는 방법을 찾고 있습니다. exec 또는 eval을 사용하여 만든 모든 시도는 효과가 없습니다.

도움을 주시면 감사하겠습니다. 고맙습니다.

답변

1

사용 사전 :

tools = {'tool1': ..., 
     'tool2': ...} 

my_string = 'tool1' 
current_tool = tools[my_string] 
관련 문제