Wann werden Klassenmethoden in Python verwendet?

(*-*)浩
Freigeben: 2019-07-09 10:15:21
Original
5466 Leute haben es durchsucht

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage