Python 기반 callable 함수 검사 대상 호출 가능 여부

1717 단어 Pythoncallable함수
영문 문서:
callable(object)
  Return True if the object argument appears callable, False if not. If this returns true, it is still possible that a call fails, but if it is false, calling object will never succeed. Note that classes are callable (calling a class returns a new instance); instances are callable if their class has a __call__() method.
검사 대상이 호출될 수 있는지 여부
설명:
  1. 방법은 대상이 호출될 수 있는지 검사하는 데 사용되며, 호출될 수 있는 것은 대상이 () 괄호를 사용할 수 있는지를 가리킨다.

>>> callable(callable)
True
>>> callable(1)
False
>>> 1()
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
1()
TypeError: 'int' object is not callable
>>>
  2. 호출 가능한 대상, 실제 호출에서도 호출 실패할 수 있습니다.그러나 호출할 수 없는 대상은 호출에 성공하지 못할 것이다.
  3. 클래스 객체는 모두 호출될 수 있는 객체입니다. 클래스의 인스턴스 객체가 호출될 수 있는지 여부는 클래스가 __를 정의했는지 여부에 따라 달라집니다.call__방법

>>> class A: # A
  pass

>>> callable(A) # A 
True
>>> a = A() # A
>>> callable(a) # a 
False
>>> a() # a 
Traceback (most recent call last):
 File "<pyshell#31>", line 1, in <module>
  a()
TypeError: 'A' object is not callable


>>> class B: # B
  def __call__(self):
    print('instances are callable now.')

    
>>> callable(B) # B 
True
>>> b = B() # B
>>> callable(b) # b 
True
>>> b() # b 
instances are callable now.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기