본문 바로가기

Programming/Python

[Python] 함수 이름 가져오기

반응형

Code Summary

import sys

def main():
    func1()
    
def func1():
    print(sys._getframe(0).f_code.co_name)    
    print(sys._getframe(1).f_code.co_name)


[0]: main()
     func1
     main

Python에서 함수 이름 변수로 가져오기

sys의 _getframe(x).f_code.co_name 함수를 이용해 x계층의 함수 이름을 가져올수 있다.

이때 x에 0을 넣으면 현재 함수 숫자가 올라갈수록 상위함수에 정보를 가져온다.

아래처럼 함수가 구성되어 있을때
    main :: sys.getframe(0).f_code.co_name
       ㄴ func1 :: sys.getframe(0).f_code.co_name

즉 func1에서 해당 코드가 실행되기때문에 0레벨은 func1, 1레벨은 상위 함수인 main이 가져와진다.

 

반응형