반갑습니다~ 꽁냥이입니다~
코딩을 하다 보면(특히 알고리즘을 구현하려고 할 때) 특정 라이브러리가 제공하는 함수가 어떻게 동작하는지 알고 싶을 때가 있습니다. 이를 위해 함수 내부 코드를 알아야 할 필요가 있지요.
파이썬에서는 inspect라는 모듈을 사용하여 특정 함수 내부 코드를 알아낼 수 있습니다(매우 유용한 기능입니다).
inspect 모듈 내 getsource라는 함수를 이용하면 함수 내부 코드를 알아낼 수 있습니다. 예를 들어 넘파이(Numpy)의 평균을 계산하는 함수 내부 코드를 알고 싶다면 다음과 같이 해주세요. 이때 print를 꼭 써주세요. 안 그러면 이스케이프 문자(\n, \t 등)가 그대로 출력되어 가독성이 떨어집니다.
import numpy as np
import inspect
print(inspect.getsource(np.mean))
코드를 실행하고 스크롤을 내리다 보면 아래와 같이 함수 내부 코드를 알 수 있습니다.
물론 라이브러리에 있는 것뿐만 아니라 직접 만든 함수의 내부 코드도 알 수 있습니다.
def func(x, y):
return x+y
print(inspect.getsource(func))
이번 포스팅에서는 함수 내부 코드를 알아내는 방법에 대해서 소개했습니다. 이 기능은 특정 함수가 어떻게 동작하는지 궁금할 때 꽁냥이가 자주 이용하는 기능입니다. 여러분들도 알고 계시면 유용하게 써먹을 수 있어요. 부디 도움이 되시길 바라며 이상 포스팅 마치겠습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 모듈 경로(Module Path) 알아보기 (361) | 2022.04.05 |
---|---|
[Python] 함수에 어떤 인자(Argument)가 있는지 알아보기 (386) | 2022.04.03 |
[오류 해결] Pandas data cast to numpy dtype of object. Check input data with np.asarray(data) (835) | 2021.11.05 |
[Python] 인코딩 확인하기 - chardet (813) | 2021.08.04 |
[오류 해결] error tokenizing data. c error : expected (837) | 2021.06.25 |
댓글