호출자 메서드를 수정하지 않고 Python에서 호출자의 메서드 이름을 어떻게 검색할 수 있나요?

Barbara Streisand
풀어 주다: 2024-11-17 21:23:02
원래의
499명이 탐색했습니다.

How can I retrieve the caller's method name in Python without modifying the caller method?

Python에서 호출자의 메서드 이름 검색

다단계 함수 호출로 작업할 때 메서드 이름에 액세스하는 것이 유용할 수 있습니다. 호출 방법. 이는 호출된 메서드 내에서 귀중한 컨텍스트를 제공할 수 있습니다. 이 문서에서는 호출자 메서드를 수정하지 않고 Python에서 호출자의 메서드 이름을 검색하는 방법을 살펴봅니다.

Inspect 활용

Python 검사 모듈은 액세스를 위한 여러 함수를 제공합니다. 발신자에 대한 정보. Inspection.getframeinfo() 및 관련 함수를 사용하면 프레임 스택을 탐색하고 관련 정보를 검색할 수 있습니다.

구현

다음은 검사 사용 방법에 대한 데모입니다.

import inspect

def f1():
    f2()

def f2():
    curframe = inspect.currentframe()
    calframe = inspect.getouterframes(curframe, 2)
    print('caller name:', calframe[1][3])

f1()
로그인 후 복사

이 예에서는 calframe 변수를 사용하여 f2 함수에서 호출자 이름을 검색합니다. calframe1의 값에는 호출자의 이름(이 경우 f1)이 포함됩니다.

주의

자체 점검은 디버깅 및 개발에 유용하지만, 생산 관련 목적으로 의존해서는 안 됩니다. 결과는 다양한 요인에 의해 영향을 받을 수 있으므로 중요한 시나리오에서는 주의해서 접근해야 합니다.

위 내용은 호출자 메서드를 수정하지 않고 Python에서 호출자의 메서드 이름을 어떻게 검색할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿