Language/Python
Python - callable(), 호출 가능한 object 여부를 판단하는 함수
TechNote.kr
2018. 1. 12. 23:25
728x90
callable
>>> callable(object)
전달받은 object 인자가 호출 가능한지 여부를 판단한다.
__builtin__ module에 포함된 function 이다.
argument
object - 호출 가능 여부를 판단할 object 인자 하나를 넘겨준다.
return value
인자로 전달받은 object가 호출 가능한 object일 경우 True, 아닐 경우 False를 반환한다.
example
호출 불가능한 변수형 object 와 호출 가능한 함수형 object 의 예)
>>> sample = 1 >>> callable(sample) False >>> def funcSample(): ... print('sample') ... >>> sample = funcSample >>> callable(sample) True
호출 가능하도록 __call__이 정의된 object (class) 의 예)
해당 예제에서 class 자체는 호출을 통해 instance를 생성하기 때문에 callable, 생성된 instance는 __call__() 이 class 내에 정의되어 있어서 callable 하다.
>>> class Sample: ... def __call__(self): ... print('sample') ... >>> callable(Sample) True >>> sample = Sample() >>> callable(sample) True >>> sample() sample
__call__이 정의되지 않은 object (class) 의 예)
해당 예제에서 class 자체는 호출을 통해 instance를 생성하기 때문에 callable, 생성된 instance는 __call__() 이 class 내에 정의되어 있지 않기 때문에 callable 하지 않다.
>>> class Sample: ... def funcCall(self): ... print('sample') ... >>> callable(Sample) True >>> sample = Sample() >>> callable(sample) False >>> sample() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: Sample instance has no __call__ method
728x90