웹사이트 검색

파이썬 정적 메서드


파이썬 정적 메서드

정적 메서드란 무엇입니까?

Python의 정적 메서드는 Python 클래스 수준 메서드와 매우 유사하지만 정적 메서드는 해당 클래스의 개체가 아닌 클래스에 바인딩된다는 차이점이 있습니다. 이는 해당 클래스에 대한 개체 없이 정적 메서드를 호출할 수 있음을 의미합니다. 이는 또한 정적 메서드가 개체에 바인딩되지 않았기 때문에 개체의 상태를 수정할 수 없음을 의미합니다. Python에서 정적 메서드를 만드는 방법을 살펴보겠습니다.

파이썬 정적 메서드 만들기

Python 정적 메서드는 두 가지 방법으로 만들 수 있습니다. 여기서 각 방법을 살펴보겠습니다.

정적 메서드() 사용

staticmethod() 접근 방식을 사용하는 방법에 대한 샘플 코드 스니펫으로 직접 이동해 보겠습니다.

class Calculator:

    def addNumbers(x, y):
        return x + y

# create addNumbers static method
Calculator.addNumbers = staticmethod(Calculator.addNumbers)

print('Product:', Calculator.addNumbers(15, 110))

@staticmethod 사용

이는 클래스 메서드가 되는 메서드의 문 정의에 의존할 필요가 없고 정적으로 만드는 각 위치에서 정적으로 만들 필요가 없기 때문에 정적 메서드를 생성하는 보다 미묘한 방법입니다. 코드 스니펫에서 이 주석을 사용해 보겠습니다.

class Calculator:

    # create addNumbers static method
    @staticmethod
    def addNumbers(x, y):
        return x + y

print('Product:', Calculator.addNumbers(15, 110))

Python 정적 메서드의 장점

정적 메서드에는 매우 명확한 사용 사례가 있습니다. 객체가 아니라 전체 클래스와 관련된 기능이 필요한 경우 메서드를 정적으로 만듭니다. 이는 일반적으로 개체 수명 주기에 연결되지 않기 때문에 유틸리티 메서드를 만들어야 할 때 매우 유리합니다. 마지막으로 정적 메서드에서는 self를 첫 번째 인수로 전달할 필요가 없습니다. API 참조: Python 설명서