>  Q&A  >  본문

python 类方法的使用场景

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

大家讲道理大家讲道理2742일 전932

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-04-18 09:43:46

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

    다음은 간단한 예입니다.

    으아악

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

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

    으아악

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

    으아악

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

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

    으아악

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

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

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


    내가 답변한 질문: Python-QA

    회신하다
    0
  • 阿神

    阿神2017-04-18 09:43:46

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


    파이썬3

    으아악

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

    회신하다
    0
  • 취소회신하다