[PYTHON] Klassenmethode statische Methode

python


class Person(object):
    kind = 'human'

    def __init__(self):
        self.x = 100

    @classmethod
    def what_is_your_kind(cls):
        return cls.kind

    @staticmethod
    def about(year):
        print('human about {}'.format(year))

print(Person.what_is_your_kind())
Person.about(1999)

Ausführungsergebnis


human
human about 1999

Mit Person.what_is_your_kind () Da es nicht "Person ()" ist und das Objekt nicht erstellt wird, Ursprünglich wird es ein Fehler sein.

Aber, Indem Sie what_is_your_kind zu einer Klassenmethode machen, Keine Methode des Objekts what_is_your_kind, Es wird eine Methode der Klasse und kann zugegriffen werden.

Recommended Posts

Klassenmethode statische Methode
[Python] Unterschied zwischen Klassenmethode und statischer Methode
Parallelisierung der Klassenmethode
Parallelisierung der Klassenmethode
Klassen- und statische Methoden
Verschiedene Klassenmethoden und statische Methoden
Klasse
Profil innerhalb einer Methode der Klasse
Klassenvariable
Binäre Methode
Spezielle Methode
Spezielle Methode
Abstrakte Klasse
Versuchen Sie es mit einer objektorientierten Klasse in R (R6-Methode)