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, ...): ...
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, ...): ...
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: