python 类方法的使用场景
大家讲道理
大家讲道理 2017-04-18 09:41:46
0
2
953

python的类方法的定义和使用都了解, 问题是什么情况下会使用python类方法,而不是普通方法或静态方法?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(2)
黄舟

제가 생각할 수 있는 예는 클래스 메서드가 생성자 대신 사용되는 경우가 많다는 것입니다(__init__).

다음은 간단한 예입니다.

으아악

완전히 쓸모없는 계산기 클래스이지만 너무 걱정하지 마세요. 이 클래스의 생성자는 별 표현을 사용하여 사용자가 있는 경우를 생각해 보겠습니다. 시퀀스(List 또는 Tuple)가 주어지면 이 클래스를 구성하려면 어떻게 해야 합니까?

실제로 별표 표현을 사용하세요.

으아악

그러나 현재로서는 수업 방법이 또 다른 옵션입니다.

으아악

클래스 메소드를 사용하여 생성자 대체를 쉽게 구현할 수 있는 주요 이유는 클래스 메소드의 첫 번째 매개변수가 클래스 객체를 수신하여 클래스 메소드에 의해 전달된 인수를 표준 생성자로 처리할 수 있게 하고, 클래스를 사용하여 객체를 생성하기 때문입니다. 객체를 반환하고 반환합니다.

이 문제를 인스턴스 메소드에 넘기면 type(self)을 사용하는 추가 변환 방법이 있습니다. 정적 메소드를 사용하려면 메소드에 클래스 이름을 하드 코딩해야 하는데 이는 적합하지 않습니다.

으아악

인스턴스 메소드, 클래스 메소드, 정적 메소드에 대해 더 자세히 알고 싶다면 다음을 참조하세요.

  • 어떤 상황에서 Python의 정적 메소드를 사용해야 하나요?

  • Python에서 정적, 클래스, 추상 메서드를 사용하는 방법에 대한 최종 가이드


내가 답변한 질문: Python-QA

阿神

잠깐만 예문을 작성해보세요~


파이썬3

으아악

类方法静态方法 모두 类变量에 액세스할 수 있지만 实例变量에는 액세스할 수 없습니다.
静态变量, 闭包는 파이썬에서 静态变量을 통해서만 구현 가능한 것 같습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿