En dekoratör i Python är en funktion som tar en annan funktion som sitt argument, och returnerar ännu en funktion. Dekoratörer kan vara extremt användbara eftersom de tillåter utökning av en befintlig funktion, utan någon modifiering av den ursprungliga funktionskällkoden.
När ska du använda en dekoratör?
Dekoratorer används för allt som du vill "linda in" på ett transparent sätt med ytterligare funktionalitet. Django använder dem för att omsluta "inloggning krävs" funktionalitet på visningsfunktioner, samt för att registrera filterfunktioner. Du kan använda klassdekoratörer för att lägga till namngivna loggar till klasser.
Var kan vi använda dekoratörer i Python?
Dekoratörer är ett mycket kraftfullt och användbart verktyg i Python eftersom det tillåter programmerare att ändra beteendet hos funktion eller klass. Dekoratörer tillåter oss att slå in en annan funktion för att förlänga beteendet hos den inslagna funktionen, utan att permanent ändra den.
Varför ska vi använda Python decorator oftare?
Python Decorator är ett kraftfullt verktyg som kan hjälpa oss att manipulera funktionen hos en funktion, en testmetod bara genom att lägga till @decorator_name. … Funktioner i Python kan också ta andra funktioner som indata och sedan returnera andra funktioner. Denna teknik kallas högre ordningsfunktion.
Vilka är fördelarna med dekoratörer?
Fördelar med dekorationsmönster
- Detär flexibel än arv eftersom arv lägger till ansvar vid kompilering men dekorationsmönster läggs till vid körning.
- Vi kan ha valfritt antal dekoratörer och även i valfri ordning.
- Det utökar objektets funktionalitet utan att påverka något annat objekt.