Ich brauche mal Unterricht @ Decorator

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Manchotix
User
Beiträge: 54
Registriert: Samstag 14. Januar 2012, 19:54

Hallo zusammen,

ich bin gerade dabei mir eine Klasse zusammen zu schrauben für Bottle und wollte bei einer Funktion auf das wunderbare an Python und seine Decoratoren zugreifen.
Dass ich mir das tutorial durch gelesen habe ist was her, also nochmal lesen und sehen das ich es irgend wie nicht verstehe.
Deswegen meine Frage ob mir jemand das Thema erklären könnte und an einem Beispiel erklären könnte wie man so ein Decorator macht.

Ich hoffe ich habe es jetzt nicht zu schlecht erklärt was mein Problem ist.

mfg Manchotix
- Über Fehler sollte man sich freuen als über das richtige Ergebnis denn wir Menschen können nur aus den Fehlern lernen-
BlackJack

@Manchotix: Die Frage ist irgendwie ein wenig unspezifisch. Die Decorator-Syntax ist bloss syntaktischer Zucker für das hier:

Code: Alles auswählen

@some_expression
def spam():
    pass  # some code

# ist das selbe wie:

def spam():
    pass  # some code

spam = some_expression(spam)
Das war's auch schon. Für `some_expression` kann ein beliebiger Ausdruck stehen, der als Ergebnis eine Funktion, oder allgemeiner ein aufrufbares Objekt, liefert, welches die Funktion übergeben bekommt, damit irgend etwas machen kann, und selber wieder eine Funktion zurück gibt, die dann an den originalen Funktionsnamen gebunden wird.
Antworten