>백엔드 개발 >파이썬 튜토리얼 >이름을 문자열로 사용하여 Python 함수를 동적으로 호출하려면 어떻게 해야 합니까?

이름을 문자열로 사용하여 Python 함수를 동적으로 호출하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-04 02:50:37359검색

How Can I Call a Python Function Dynamically Using Its Name as a String?

문자열 이름을 통해 함수 호출

문자열에 저장된 이름을 사용하여 함수를 동적으로 호출해야 하는 시나리오가 있다고 상상해 보세요. 이는 매우 동적인 환경이나 메타프로그래밍과 관련된 시나리오에서 발생할 수 있습니다. Python에서 이에 접근하는 방법은 다음과 같습니다.

핵심 기술은 Python의 getattr 함수에 있습니다. 이름이 문자열로 지정된 객체에서 속성이나 메서드를 검색할 수 있습니다. 모듈의 함수를 동적으로 호출하려면:

import foo
func_name = "bar"
bar = getattr(foo, func_name)
result = bar()

이 예에서는 함수 표시줄이 있는 foo 모듈을 가정합니다. getattr(foo, 'bar')는 bar 함수 참조를 가져옵니다. result = bar()를 호출하면 함수가 실행되고 그 결과 출력이 result에 저장됩니다.

특히 getattr은 모듈 수준 함수뿐만 아니라 클래스 인스턴스, 클래스 메서드 등에 사용할 수도 있습니다. 다용도로 인해 Python의 동적 기능을 탐색하는 데 필수적인 도구입니다.

위 내용은 이름을 문자열로 사용하여 Python 함수를 동적으로 호출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.