반응형
나는 수업이있다
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 예 또는 아니요 출력 Python (0) | 2021.01.11 |
---|---|
파이썬의 차이점-유닉스 시스템에서 getmtime ()과 getctime () (0) | 2021.01.11 |
파이썬 AttributeError: 'module' object has no attribute 'urlretrieve' (0) | 2021.01.11 |
파이썬에서 현재 모듈 내의 모든 클래스 목록을 어떻게 얻을 수 있습니까? (0) | 2021.01.11 |
파이썬에서 배열 가져 오기 (0) | 2021.01.11 |
댓글