본문 바로가기
파이썬

파이썬 동일한 모듈의 클래스 이름 문자열에서 파이썬 클래스 객체 가져 오기

by º기록 2021. 1. 11.
반응형

나는 수업이있다

class Foo():
    def some_method():
        pass

그리고 같은 모듈에있는 다른 클래스 :

class Bar():
    def some_other_method():
        class_name = "Foo"
        #can I access the class Foo above using the string "Foo"?

문자열 "Foo"를 사용하여 Foo 클래스에 액세스 할 수 있기를 원합니다.

다른 모듈에있는 경우 다음을 사용하여이 작업을 수행 할 수 있습니다.

from project import foo_module
foo_class = getattr(foo_module, "Foo")

같은 모듈에서 같은 일을 할 수 있습니까?

IRC의 사람들은 문자열 클래스 이름을 클래스에 매핑하는 매핑 사전을 사용하도록 제안했지만 더 쉬운 방법이 있다면 그렇게하고 싶지 않습니다.

 

해결 방법

 

import sys
getattr(sys.modules[__name__], "Foo")

# or 

globals()['Foo']

 

참조 페이지 https://stackoverflow.com/questions/17959996

 

 

반응형

댓글