본문 바로가기
Python/Python FAQ

Python 파이썬 함수의 소스 코드를 어떻게 얻을 수 있을까요?, How can I get the source code of a Python function?

by 베타코드 2023. 9. 11.
반응형

질문


아래와 같이 정의된 Python 함수가 있다고 가정합니다:

def foo(arg1,arg2):
    #인자들을 이용하여 작업 수행
    a = arg1 + arg2
    return a

foo.func_name을 사용하여 함수의 이름을 가져올 수 있습니다. 위에서 입력한 대로 함수의 소스 코드를 프로그래밍적으로 어떻게 가져올 수 있을까요?


답변


만약 함수가 파일 시스템에서 사용 가능한 소스 파일에서 가져온 것이라면, inspect.getsource(foo)가 도움이 될 수 있습니다:

만약 foo가 다음과 같이 정의되어 있다면:

def foo(arg1,arg2):         
    #args와 무언가를 수행 
    a = arg1 + arg2         
    return a  

그러면:

import inspect
lines = inspect.getsource(foo)
print(lines)

다음을 반환합니다:

def foo(arg1,arg2):         
    #args와 무언가를 수행 
    a = arg1 + arg2         
    return a                

하지만, 함수가 문자열, 스트림으로부터 컴파일되거나 컴파일된 파일에서 가져온 것이라면 소스 코드를 검색할 수 없다고 믿습니다.

반응형

댓글