이에 대해하지 않습니다 @staticmethod
와 @classmethod
! 나는 어떻게 staticmethod
작동 하는지 안다 . 내가 알고 싶은 @staticmethod
것은 모듈 수준 기능에 대한 적절한 사용 사례입니다 .
나는이 질문을 봤는데, 더 파이썬이기 때문에 정적 메소드보다 모듈 레벨 함수가 선호된다는 일반적인 동의가있는 것 같습니다. 정적 메서드는 클래스에 바인딩되는 이점이 있으므로 해당 클래스 만 클래스를 사용하는 경우에 적합합니다. 그러나 파이썬에서 기능은 일반적으로 클래스가 아닌 모듈로 구성되므로 일반적으로 모듈 함수로 만드는 것도 의미가 있습니다.
정적 메소드는 서브 클래스로 대체 될 수도 있습니다. 이는 서브 시스템을 보는 방법에 따라 장점 또는 단점입니다. 정적 메서드는 일반적으로 "기능적으로 순수"하기 때문에 재정의하는 것이 현명하지 않을 수도 있지만 때로는 편리 할 수도 있습니다 (이것은 "편리하지만 결코 IT를하지 마십시오"라는 경험 중 하나 일 수 있습니다).
정적 메서드 또는 모듈 수준 함수를 사용하기위한 일반적인 규칙이 있습니까? 어떤 구체적인 장점이나 단점이 있습니까 (예 : 향후 확장, 외부 확장, 가독성)? 가능한 경우 사례도 제공하십시오.