이 글은 Python의 __call__ 메소드 사용에 대한 소개를 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Python의 클래스가 __call__ 메서드를 정의하는 경우 이 클래스의 인스턴스는 함수로 호출될 수 있습니다. 즉, () 연산자를 구현하고 객체 프로토콜을 호출할 수 있습니다
다음은 간단한 예입니다.
class TmpTest: def __init__(self, x, y): self.x = x self.y = y def __call__(self, x, y): self.x, self.y = x, y a = TmpTest(1, 2) a(4, 5) print(a.x, a.y)
이 글에서는 데코레이터를 사용하여 __call__ 메소드의 사용법을 설명하지 않겠습니다. 클래스를 데코레이터로 사용해야 하는 경우 이 클래스에 대해 __call__ 메소드를 구현해야 합니다. __call__ 클래스 데코레이터 구현 예:
class TmpTest: def __init__(self, func): self.func=func def __call__(self, *args,**kwargs): result=self.func(*args,**kwargs) return result @TmpTest def add_num(x,y): return x+y print(add_num(1,0))
위 내용은 Python에서 __call__ 메소드 사용 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!