黄舟2017-04-18 09:43:46
제가 생각할 수 있는 예는 클래스 메서드가 생성자 대신 사용되는 경우가 많다는 것입니다(__init__
).
다음은 간단한 예입니다.
으아악완전히 쓸모없는 계산기 클래스이지만 너무 걱정하지 마세요. 이 클래스의 생성자는 별 표현을 사용하여 사용자가 있는 경우를 생각해 보겠습니다. 시퀀스(List 또는 Tuple)가 주어지면 이 클래스를 구성하려면 어떻게 해야 합니까?
실제로 별표 표현을 사용하세요.
으아악그러나 현재로서는 수업 방법이 또 다른 옵션입니다.
으아악클래스 메소드를 사용하여 생성자 대체를 쉽게 구현할 수 있는 주요 이유는 클래스 메소드의 첫 번째 매개변수가 클래스 객체를 수신하여 클래스 메소드에 의해 전달된 인수를 표준 생성자로 처리할 수 있게 하고, 클래스를 사용하여 객체를 생성하기 때문입니다. 객체를 반환하고 반환합니다.
이 문제를 인스턴스 메소드에 넘기면 type(self)
을 사용하는 추가 변환 방법이 있습니다. 정적 메소드를 사용하려면 메소드에 클래스 이름을 하드 코딩해야 하는데 이는 적합하지 않습니다.
인스턴스 메소드, 클래스 메소드, 정적 메소드에 대해 더 자세히 알고 싶다면 다음을 참조하세요.
어떤 상황에서 Python의 정적 메소드를 사용해야 하나요?
Python에서 정적, 클래스, 추상 메서드를 사용하는 방법에 대한 최종 가이드
내가 답변한 질문: Python-QA
阿神2017-04-18 09:43:46
잠깐만 예문을 작성해보세요~
파이썬3
으아악类方法
및 静态方法
모두 类
의 类变量
에 액세스할 수 있지만 实例变量
에는 액세스할 수 없습니다. 静态变量
, 闭包
는 파이썬에서 静态变量
을 통해서만 구현 가능한 것 같습니다.