반응형
질문
함수 이름을 포함한 문자열을 사용하여 함수를 호출하는 방법은 무엇인가요? 예를 들어:
import foo
func_name = "bar"
call(foo, func_name) # calls foo.bar()
답변
모듈 foo
와 메소드 bar
가 있다고 가정합니다:
import foo
bar = getattr(foo, 'bar')
result = bar()
getattr
는 클래스 인스턴스 바운드 메소드, 모듈 레벨 메소드, 클래스 메소드 등에도 유사하게 사용할 수 있습니다. 목록은 계속됩니다.
반응형
댓글