Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Послідовність Декораторів | Decorators
Середній Рівень Python: Аргументи, Генератори та Декоратори

Послідовність ДекораторівПослідовність Декораторів

Застосування декількох декораторів у Python - це потужний інструмент, який дозволяє застосувати до однієї функції декілька декораторів. Кожен декоратор певним чином модифікує або покращує функцію, і вони застосовуються у певному порядку. Ось практичний приклад, який ілюструє використання декількох декораторів:

Два простих декоратори

Спочатку давайте визначимо два простих декоратори:

Послідовність декораторів

Тепер давайте застосуємо ці декоратори до однієї функції:

У кожному декораторі є код, який виконується перед переходом до наступного декоратора і після завершення цього декоратора. Це працює пошарово. Вони застосовуються в тому порядку, в якому вони перераховані, зверху вниз. Вихід верхнього декоратора стає входом для наступного. Таке нашарування може додати кілька функцій до початкової функції.

Порядок виконання

Коли викликається greet(), порядок виконання буде таким:

  1. Уdecorator_one виконується перший print;
  2. Всередині decorator_one, у decorator_two виконується перший print;
  3. Нарешті, виконується оригінальна функція greet;
  4. Потім повертаємось назад і завершуємо виконання decorator_two виведенням повідомлення;
  5. Весь код завершується виконанням останнього print у decorator_one.

На виході буде:

Використання декількох - це потужний спосіб розширити поведінку функцій у модульний та читабельний спосіб.

Сподіваємось, наступна задача допоможе вам краще зрозуміти цю тему.

Все було зрозуміло?

Секція 5. Розділ 5
course content

Зміст курсу

Середній Рівень Python: Аргументи, Генератори та Декоратори

Послідовність ДекораторівПослідовність Декораторів

Застосування декількох декораторів у Python - це потужний інструмент, який дозволяє застосувати до однієї функції декілька декораторів. Кожен декоратор певним чином модифікує або покращує функцію, і вони застосовуються у певному порядку. Ось практичний приклад, який ілюструє використання декількох декораторів:

Два простих декоратори

Спочатку давайте визначимо два простих декоратори:

Послідовність декораторів

Тепер давайте застосуємо ці декоратори до однієї функції:

У кожному декораторі є код, який виконується перед переходом до наступного декоратора і після завершення цього декоратора. Це працює пошарово. Вони застосовуються в тому порядку, в якому вони перераховані, зверху вниз. Вихід верхнього декоратора стає входом для наступного. Таке нашарування може додати кілька функцій до початкової функції.

Порядок виконання

Коли викликається greet(), порядок виконання буде таким:

  1. Уdecorator_one виконується перший print;
  2. Всередині decorator_one, у decorator_two виконується перший print;
  3. Нарешті, виконується оригінальна функція greet;
  4. Потім повертаємось назад і завершуємо виконання decorator_two виведенням повідомлення;
  5. Весь код завершується виконанням останнього print у decorator_one.

На виході буде:

Використання декількох - це потужний спосіб розширити поведінку функцій у модульний та читабельний спосіб.

Сподіваємось, наступна задача допоможе вам краще зрозуміти цю тему.

Все було зрозуміло?

Секція 5. Розділ 5
some-alt