In Python werden Klassenmethoden mit dem Dekorator @classmethod definiert.
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!