Декоратори в Python - Astro блог

Тук няма да има никаква магически нова информация, а по-скоро е обяснение за себе си какви декоратори на звяри са в python.

Защото в pyhton функциите са обекти, тогава шаблонът за дизайн на декоратора може да бъде приложен към тях. По време на писането на тези редове не анализирах самия шаблон, следователно може да има не съвсем правилна информация за това колко правилно е изпълнен този шаблон в случая на езика на python.

сега увийте just_func

Можете да присвоите име на подобно повикване на f-ii:

И когато се обадим just_func_wrapped, получаваме същото:

Почти стигнахме до точката. Всъщност как би могло да се напише това, като се използва синтаксис на декоратор:

И като извикаме just_func получаваме:

Тези. синтаксис на декоратор е синтактична захар, която замества следната конструкция:

Предаване на аргументи в обвивката

Също така е възможно, или по-скоро е необходимо, да се прехвърлят аргументите във декоратора f-ii, обвит от f-ii.

Методи за декориране в класове

Предаване на * args и ** kwargs към функцията за декориране

Предаване на аргументи на декоратора

Логично възниква въпросът: "Но как да се предадат аргументи на декоратора, ако декораторът по дефиниция трябва да приеме само името на функцията, която се декорира като вход?".