>  기사  >  백엔드 개발  >  Python에서 클래스 메소드를 사용해야 하는 경우

Python에서 클래스 메소드를 사용해야 하는 경우

(*-*)浩
(*-*)浩원래의
2019-06-27 13:44:575449검색

Python에서 클래스 메서드는 데코레이터 @classmethod를 사용하여 정의됩니다.

Python에서 클래스 메소드를 사용해야 하는 경우

예제를 직접 살펴보겠습니다. (추천 학습: Python 동영상 튜토리얼)

class Kls(object):
    num_inst = 0

    def __init__(self):
        Kls.num_inst = Kls.num_inst + 1

    @classmethod
    def get_no_of_instance(cls):
        return cls.num_inst


ik1 = Kls()
ik2 = Kls()

print ik1.get_no_of_instance()
print Kls.get_no_of_instance()

클래스 메소드는 Java가 여러 생성자를 정의하는 상황을 시뮬레이션하는 데 사용됩니다.

파이썬 클래스에는 초기화 메소드가 하나만 있을 수 있으므로 상황에 따라 클래스를 초기화할 수 없습니다.

coding:utf-8
class Book(object):
def __init__(self, title):
self.title = title
   @classmethod
def class_method_create(cls, title):
book = cls(title=title)
return book
   @staticmethod
def static_method_create(title):
book= Book(title)
return book
book1 = Book("use instance_method_create book instance")
book2 = Book.class_method_create("use class_method_create book instance")
book3 = Book.static_method_create("use static_method_create book instance")
print(book1.title)
print(book2.title)
print(book3.title)

더 많은 Python 관련 기술 기사를 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 Python에서 클래스 메소드를 사용해야 하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.