Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:method-types

Dies ist eine alte Version des Dokuments!


  • 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

class test:
    def say_something():
       print("Hello")

a=test()
a.say_something()

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

class test:
  
  @classmethod
  def ausgabe(cls):
    print("Klasse", cls)

python/method-types.1586332085.txt.gz · Zuletzt geändert: 2020/04/08 09:48 von root