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
'Language > Python' 카테고리의 다른 글
Python - datetime/time module, 현재 시간 출력 방법 (0) | 2018.06.16 |
---|---|
Python - email package, raw email message 다루기 (0) | 2018.06.15 |
Python - poplib, POP3 를 통한 이메일 수신 (0) | 2018.06.15 |
Python - divmod(), 두 숫자를 나누어 몫과 나머지를 tuple로 반환하는 함수 (0) | 2018.01.13 |
Python - dir(), object의 속성(attribute) 목록을 보여주는 함수 (0) | 2018.01.12 |
Python - int(), 정수(integer)를 반환하는 클래스 (0) | 2018.01.04 |
Python - slice(), slicing하기 원하는 index를 정의하는 클래스 (0) | 2018.01.04 |
Python - xrange(), 순차적인 숫자를 만들 수 있는 generator를 생성하는 클래스 (0) | 2018.01.03 |