Python-Funktion - classmethod()

高洛峰
Freigeben: 2016-10-17 15:31:01
Original
1440 Leute haben es durchsucht

classmethod(function)

Chinesische Beschreibung:

classmethod wird verwendet, um eine Klassenmethode als Klassenmethode anzugeben. Die Methode einer Klasse, die ohne diesen Parameter angegeben wird, ist eine Instanzmethode Die Verwendungsmethode lautet wie folgt:

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...
Nach dem Login kopieren
Nach dem Login kopieren

Die Klassenmethode kann direkt von der Klasse (C.f()) oder der aufgerufenen Instanz (C().f() aufgerufen werden. )).

Version: Neu in Python2.2, neue Funktionen hinzugefügt in Python2.4. Immer noch in Python3 verfügbar.


Englische Beschreibung:

Eine Klassenmethode für eine Funktion zurückgeben.

Eine Klassenmethode empfängt die Klasse als implizites erstes Argument, genau wie Eine Instanzmethode empfängt die Instanz. Um eine Klassenmethode zu deklarieren, verwenden Sie diese Redewendung:

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...
Nach dem Login kopieren
Nach dem Login kopieren

 

Die @classmethod-Form ist ein Funktionsdekorator – siehe Beschreibung von Funktionsdefinitionen in Funktionsdefinitionen für Details.


Es kann entweder für die Klasse (z. B. C.f()) oder für eine Instanz (z. B. C()) aufgerufen werden. f()). Die Instanz wird bis auf ihre Klasse ignoriert. Wenn eine Klassenmethode für eine abgeleitete Klasse aufgerufen wird, wird das abgeleitete Klassenobjekt als implizites erstes Argument übergeben 🎜>Klassenmethoden unterscheiden sich von statischen C- oder Java-Methoden. Weitere Informationen zu Klassenmethoden finden Sie unter staticmethod() in diesem Abschnitt Dokumentation zur Standardtyphierarchie in Die Standardtyphierarchie.


Neu in Version 2.2. 2.4: Funktionsdekorator-Syntax hinzugefügt.


Codebeispiel:


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