Heim  >  Artikel  >  Backend-Entwicklung  >  Wann werden Klassenmethoden in Python verwendet?

Wann werden Klassenmethoden in Python verwendet?

(*-*)浩
(*-*)浩Original
2019-06-27 13:44:575390Durchsuche

In Python werden Klassenmethoden mit dem Dekorator @classmethod definiert.

Wann werden Klassenmethoden in Python verwendet?

Schauen wir uns das Beispiel direkt an. (Empfohlenes Lernen: Python-Video-Tutorial) Die Klassenmethode

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

wird verwendet, um die Situation zu simulieren, in der Java mehrere Konstruktoren definiert.

Da es in einer Python-Klasse nur eine Initialisierungsmethode geben kann, kann die Klasse nicht je nach Situation initialisiert werden.

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)

Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonWann werden Klassenmethoden in Python verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn