Maison  >  Article  >  développement back-end  >  Quand utiliser les méthodes de classe en python

Quand utiliser les méthodes de classe en python

(*-*)浩
(*-*)浩original
2019-06-27 13:44:575463parcourir

En Python, les méthodes de classe sont définies à l'aide du décorateur @classmethod.

Quand utiliser les méthodes de classe en python

Regardons directement l'exemple. (Apprentissage recommandé : Tutoriel vidéo Python) La méthode de classe

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()

est utilisée pour simuler la situation où Java définit plusieurs constructeurs.

Comme il ne peut y avoir qu'une seule méthode d'initialisation dans une classe python, la classe ne peut pas être initialisée selon différentes situations.

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)

Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn