Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:method-types

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
python:method-types [2020/04/07 11:55]
root angelegt
python:method-types [2020/04/08 11:19] (aktuell)
root [Objekt-Methoden]
Zeile 1: Zeile 1:
   * Python 3 kennt mehrer Arten von Methoden    * Python 3 kennt mehrer Arten von Methoden 
       * die verschiedenen Arten enstehen durch Nutzung unterschiedlicher Dekoratoren       * 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
 +
 +<sxh python>
 +class static_test:
 +
 +    my_string = "Peter"
 +
 +    def ausgabe(self):
 +        print("Ausgabe", self.my_string)
 +
 +    def caller(self):
 +        self.ausgabe()
 +
 +a = static_test()
 +a.ausgabe()
 +</sxh>
  
  
Zeile 7: Zeile 32:
   * Methoden die zwar Teil einer Klasse sind, aber weder Informationen über das Objekt, noch über die Klasse benötigen von der sie Teil sind   * 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   * Methode kann sowohl über die Klasse, als auch über ein Objekt aufgerufen werden
 +  * Kein Zugriff auf Objekt-/Klassenvariablen
  
 <sxh python> <sxh python>
-class test:+class static_test:
  
 +    my_string = "Peter"
     @staticmethod     @staticmethod
-    def say_something(): +    def ausgabe(): 
-        print("Hello")+        print("Ausgabe"
 + 
 +    def caller(self): 
 +        self.ausgabe() 
 + 
 +static_test.ausgabe() 
 +a = static_test() 
 +a.ausgabe()
 </sxh> </sxh>
  
Zeile 22: Zeile 56:
   * Können über Klasse oder über Objekt aufgerufen werden   * Können über Klasse oder über Objekt aufgerufen werden
   * bekommen eine Referenz auf die Klasse als ersten Parameter übergeben   * bekommen eine Referenz auf die Klasse als ersten Parameter übergeben
 +  * Zugriff auf Klassenvariablen
  
 <sxh python> <sxh python>
-class test+class static_test
-   + 
-  @classmethod +    my_string = "Peter" 
-  def ausgabe(cls): +    @classmethod 
-    print("Klasse", cls)+    def ausgabe(cls): 
 +        print("Ausgabe", cls.my_string) 
 + 
 +    def caller(self): 
 +        self.ausgabe() 
 + 
 +static_test.ausgabe() 
 +a = static_test() 
 +a.ausgabe()
 </sxh> </sxh>
  
  
python/method-types.1586253302.txt.gz · Zuletzt geändert: 2020/04/07 11:55 von root