Warum wird in Python-Klassen cls
manchmal statt self
als Argument verwendet?
Beispielsweise:
class Person:
def __init__(self, firstname, lastname):
self.firstname = firstname
self.lastname = lastname
@classmethod
def from_fullname(cls, fullname):
cls.firstname, cls.lastname = fullname.split(' ', 1)
static member
undnon-static members
verstanden es im Zusammenhang mit c ++Dies ist eine sehr gute Frage, aber nicht so wollen wie eine Frage. Es gibt einen Unterschied zwischen der verwendeten Methode 'self' und 'cls', obwohl sie sich analog an derselben Stelle befinden
Jetzt können Sie sehen, dass beide Mondfunktionen sind, aber eine kann innerhalb der Klasse verwendet werden, während der andere Funktionsname Mond für jede Klasse verwendet werden kann.
Für den praktischen Programmieransatz:
Beim Entwerfen der Kreisklasse verwenden wir die Bereichsmethode als cls anstelle von self, da der Bereich nicht nur auf eine bestimmte Kreisklasse beschränkt werden soll.
quelle
- Python-Tricks
quelle