Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

문자열을 Python 클래스 객체로 변환하는 방법은 무엇입니까?


파이썬 함수에 대한 사용자 입력으로 문자열이 주어지면 현재 정의된 네임스페이스에 해당 이름을 가진 클래스가 있는 경우 클래스 개체를 얻고 싶습니다.

예시

class Foobar:
    pass
print eval("Foobar")
print type(Foobar)

출력

 __main__.Foobar
<type 'classobj'>

문자열을 클래스 개체로 변환하는 또 다른 방법은 다음과 같습니다.

예시

import sys
class Foobar:
    pass
def str_to_class(str):
    return getattr(sys.modules[__name__], str)
print str_to_class("Foobar")
print type(Foobar)

출력

__main__.Foobar
<type 'classobj'>