Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:method-types
  • Python 3 kennt mehrer Arten von Methoden
    • die verschiedenen Arten enstehen durch Nutzung unterschiedlicher Dekoratoren
  • jede Klasse ist selbst ein Objekt in Python
  • jede Methode ist ein eigenes Objekt in Python

Objekt-Methoden

  • Können nur nach Instanzierung angesprochen werden
  • bekommen Pointer auf das Objekt übergeben
  • die „normalen“ Methoden
  • Zugriff auf Klassen- und Objektvariablen

class static_test:

    my_string = "Peter"

    def ausgabe(self):
        print("Ausgabe", self.my_string)

    def caller(self):
        self.ausgabe()

a = static_test()
a.ausgabe()

Static Method

  • Methoden die zwar Teil einer Klasse sind, aber weder Informationen über das Objekt, noch über die Klasse benötigen von der sie Teil sind
  • Methode kann sowohl über die Klasse, als auch über ein Objekt aufgerufen werden
  • Kein Zugriff auf Objekt-/Klassenvariablen

class static_test:

    my_string = "Peter"
    @staticmethod
    def ausgabe():
        print("Ausgabe")

    def caller(self):
        self.ausgabe()

static_test.ausgabe()
a = static_test()
a.ausgabe()

Class Method

  • Methoden die an die Klasse „gebunden“ sind
  • Können über Klasse oder über Objekt aufgerufen werden
  • bekommen eine Referenz auf die Klasse als ersten Parameter übergeben
  • Zugriff auf Klassenvariablen

class static_test:

    my_string = "Peter"
    @classmethod
    def ausgabe(cls):
        print("Ausgabe", cls.my_string)

    def caller(self):
        self.ausgabe()

static_test.ausgabe()
a = static_test()
a.ausgabe()

python/method-types.txt · Zuletzt geändert: 2020/04/08 11:19 von root