파이썬에서 모든 함수는 내장 속성인 __name__을 가지고 있습니다. 이 속성에 접근하면 해당 함수의 이름을 문자열 형태로 쉽게 얻을 수 있습니다.
__name__ 속성 사용 예제
다음은 간단한 함수를 정의하고, __name__ 속성을 통해 함수 이름을 출력하는 예제입니다:
def some_func():
return 0
print(some_func.__name__)위 코드를 실행하면 다음과 같은 결과가 출력됩니다:
some_func
활용 사례
함수 이름을 문자열로 가져오는 기능은 다음과 같은 상황에서 유용하게 활용됩니다:
- 디버깅 및 로깅: 로그 메시지에 현재 실행 중인 함수의 이름을 자동으로 포함시킬 수 있습니다.
- 동적 호출:
getattr()함수와 함께 사용하여 문자열 기반으로 객체의 메서드를 동적으로 호출할 수 있습니다. - 데코레이터 작성: 데코레이터 내부에서 원본 함수의 정보를 확인하거나 기록할 때 사용됩니다.
참고로 클래스의 메서드 역시 동일한 방식으로 __name__ 속성을 통해 이름을 확인할 수 있으며, 람다(lambda) 함수의 경우 <lambda>라는 이름이 반환된다는 점도 알아두면 좋습니다.