파이썬에서 __init__ 대 __call__

Python에서 __init__ 는 클래스의 새 인스턴스가 생성될 때마다 호출됩니다. __call__ 메서드 는 함수 호출 연산자를 구현하는 데 사용됩니다.

예를 들어 Agent 클래스의 에이전트 인스턴스와 같은 클래스의 인스턴스를 생성하는 경우 __call__ 메서드가 구현되면 모든 함수 호출로 인스턴스를 호출할 수 있습니다. 다음과 같이 호출할 수 있습니다: agent( args ) . 그렇게 하면 __call__ 메서드 의 본문에 구현된 논리가 실행됩니다.

__call__ 메서드 를 구현하는 객체 는 Python에서 “호출 가능”이라고 합니다. 즉, 이 경우 Agent 클래스가 __call__ 메서드 의 정의를 구현하는 경우 Agent 클래스의 인스턴스를 호출할 수 있습니다 .