Python의 __call__() 함수는 객체를 함수처럼 호출할 수 있는 특수 메서드입니다. 객체가 호출되면 Python은 자동으로 객체의 __call__() 메서드를 찾아 호출합니다.
__call__() 메서드를 사용하면 클래스의 인스턴스를 함수로 사용할 수 있는지 여부와 해당 동작을 정의할 수 있습니다. __call__() 메서드를 구현하면 객체의 호출 동작을 사용자 정의할 수 있습니다.
다음은 Python에서 __call__() 함수를 사용하여 개체를 호출 가능하게 만드는 방법을 보여주는 간단한 예입니다.
class Counter: def __init__(self): self.count = 0 def __call__(self): self.count += 1 print("调用次数:", self.count) # 创建一个Counter对象 counter = Counter() # 调用对象,会触发__call__()方法 counter() # 输出:调用次数: 1 counter() # 输出:调用次数: 2 counter() # 输出:调用次数: 3
위 코드에서는 인스턴스 변수 개수와 __call__()을 포함하는 Counter 클래스를 정의했습니다. 방법. __call__() 메서드에서는 count를 1씩 증가시키고 호출 수를 인쇄합니다.
Counter 객체를 생성하고 호출하면 __call__() 메서드가 호출될 때마다 카운터가 증가하고 호출 횟수가 출력되는 것을 볼 수 있습니다.
위의 예 외에도 __call__() 함수를 더 활용할 수도 있습니다. 예를 들어, 클래스에 여러 개의 __call__() 메서드를 정의하여 다양한 호출 동작을 달성할 수 있습니다.
class Adder: def __init__(self, a): self.a = a def __call__(self, b): return self.a + b # 创建一个Adder对象 adder = Adder(5) # 调用对象,会在__call__()方法中执行相应的操作 result = adder(10) print(result) # 输出:15 result = adder(20) print(result) # 输出:25
위 코드에서는 __call__() 메서드가 포함된 Adder 클래스를 정의했습니다. __call__() 메서드에서는 두 개의 숫자를 더하는 연산을 구현합니다.
Adder 객체를 생성하고 이를 함수로 호출하면 해당 합산 결과를 얻을 수 있습니다.
간단히 말해서 Python의 __call__() 함수를 사용하면 객체를 함수처럼 호출할 수 있습니다. __call__() 메서드를 구현하여 객체의 호출 동작을 사용자 정의하고 더 풍부한 기능을 구현할 수 있습니다. 이는 Python 객체지향 프로그래밍의 강력한 기능입니다.
위 내용은 Python에서 __call__() 함수를 사용하여 객체를 호출 가능하게 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!