본문 바로가기
카테고리 없음

python callable() 함수 정리 예제코드 포함

by python pro 2023. 2. 9.
반응형

Python에서 callable() 함수는 특정 객체가 호출 가능한지를 판단하는 함수입니다. 이 함수는 객체가 callable 이라면 True, 아니라면 False를 반환합니다.

 

예를 들어, 함수, 메소드, 람다 표현식, 내장 함수 등은 callable 이지만, 숫자, 문자열, 리스트 등은 callable이 아닙니다.

def func():
    print("Function")

class MyClass:
    def method(self):
        print("Method")

lambda_expression = lambda: print("Lambda expression")

print(callable(func)) # True
print(callable(MyClass.method)) # True
print(callable(lambda_expression)) # True
print(callable(1)) # False
print(callable("Hello, World!")) # False
print(callable([1, 2, 3])) # False

위 코드에서, func(), MyClass.method, lambda_expression은 callable 객체임을 보여줍니다. 반면, 숫자, 문자열, 리스트 등은 callable이 아님을 보여줍니다.

 

아래에는 실제 업무에서 사용할만한 예시를 작성해봤습니다.

def square(x):
    return x**2

def is_callable(obj):
    if callable(obj):
        return True
    else:
        return False

print(is_callable(square)) # True
print(is_callable(5)) # False

squared = square(5)
print(is_callable(squared)) # False

is_callable() 이라는 함수를 만들어두고, callable한 객체인지 아닌지 판단하도록 구현했습니다. 

suqared는 이미 square(5)로 처리되서 숫자가 들어가 있겠죠. 

그래서 is_callable() 에 입력해보면 False가 리턴됩니다.

 

파이썬에서는 변수에 함수를 저장해서 사용할 수도 있기 때문에 callable로 확인하고 실행하는 로직에서도 사용될 수 있고요. 다양한 곳에서 사용될 수 있으니까 알아두시면 좋은 내장함수 입니다. 

 

 

반응형

댓글