이 튜토리얼에서는 파이썬의 내장 함수인 callable()에 대해 자세히 알아보겠습니다. callable()은 인자를 하나 받아서 해당 객체가 호출 가능(callable)한지 여부를 반환하는 함수입니다.
파이썬에서는 일반적으로 함수나 클래스는 호출할 수 있으므로 True를 반환하고, 정수(int), 실수(float), 문자열(str) 같은 상수 값은 호출할 수 없기 때문에 False를 반환합니다.
callable() 기본 문법
callable(object)
객체가 호출 가능하면 True, 그렇지 않으면 False를 반환합니다.
예제 1: 함수가 호출 가능한 경우
먼저 간단한 함수를 정의하고, 이 함수가 호출 가능한지 확인해 보겠습니다.
# 짝수 판별 함수 정의
def even(n):
return True if n % 2 == 0 else False
# even()이 호출 가능한지 확인
print(callable(even))실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
True
함수는 호출 가능한 객체이므로 callable()은 True를 반환합니다.
예제 2: 숫자는 호출 불가능한 경우
이번에는 호출할 수 없는 객체를 전달했을 때의 결과를 살펴보겠습니다.
# 숫자 초기화 num = 7 # num이 호출 가능한지 확인 print(callable(num))
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
False
정수 값에 대해서는 False가 반환됩니다. num은 함수나 클래스처럼 호출할 수 없는 단순한 값이기 때문입니다.
클래스도 호출 가능합니다
참고로 클래스 이름을 callable()에 전달하면 True가 반환됩니다. 파이썬에서 클래스는 인스턴스를 생성하기 위해 호출되기 때문입니다. 직접 확인해 보세요!
class MyClass:
pass
print(callable(MyClass)) # True 출력마무리
callable()은 객체가 함수처럼 호출될 수 있는지 빠르게 판단할 때 유용한 내장 함수입니다. 함수, 클래스, 메서드 등은 True를, 숫자나 문자열 같은 리터럴 값은 False를 반환한다는 점을 기억해 두시면 됩니다.
튜토리얼을 이해하는 데 어려운 부분이 있다면 댓글로 알려주세요!