Курс Python → Декоратор @override

Python 3.12 представляет новую возможность — перезапись декоратора. До этого момента, если у нас был класс Base с методом get_color(), и мы хотели переопределить этот метод в наследном классе GoodChild, нам приходилось явно указывать, что мы переопределяем метод родительского класса. Теперь же мы можем использовать новый декоратор @override, который делает этот процесс намного проще и более понятным.

Декоратор @override позволяет явно указать, что метод в наследном классе переопределяет метод родительского класса. Это делает код более ясным и понятным для других разработчиков, которые могут работать с вашим кодом. Также это помогает избежать ошибок и недочетов при переопределении методов.


class Base:
    def get_color(self):
        return "red"

class GoodChild(Base):
    @override
    def get_color(self):
        return "blue"

В приведенном примере мы видим, что класс GoodChild переопределяет метод get_color() класса Base. Благодаря декоратору @override мы явно указываем, что этот метод переопределен, что делает код более читаемым и понятным. Такой подход помогает избежать ошибок при работе с наследуемыми классами и улучшает общую структуру программы.

Использование декоратора @override в Python 3.12 становится хорошей практикой при работе с классами и наследованием. Этот декоратор упрощает процесс переопределения методов родительских классов в наследуемых классах и делает код более понятным и поддерживаемым.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Отладка регулярных выражений в Python
  2. Логирование с Logzero
  3. Генератор данных в Keras
  4. Метод __call__ в Python
  5. Сортировка HTML-элементов
  6. Измерение времени выполнения кода с использованием time
  7. Решатель судоку на Python с pygame
  8. Работа с кортежами
  9. Отображение графиков в Jupyter с Matplotlib
  10. Модуль antigravity: генерация координат
  11. Проблема сравнения словарей
  12. Открытие и редактирование скриптов Python
  13. Подсчет часто встречающихся элементов
  14. Заказ карты Тинькофф Black
  15. Имена объектов в Python
  16. Библиотека Rich: форматирование текста
  17. Оператор += в Python
  18. Утечки переменных цикла в Python 3.x
  19. Удаление дубликатов из списка с помощью dict.fromkeys
  20. Создание генераторов в Python
  21. Перегрузка операторов в Python
  22. Работа с модулем random
  23. Оператор (*) в Python
  24. Объединение словарей в Python
  25. Создание пустых функций и классов в Python
  26. Счетчик ссылок в Python
  27. Поиск HTML-элементов с BeautifulSoup
  28. Combobox в Tkinter
  29. Работа с CSV файлами в Python
  30. Упрощение работы с JSON-данными в Python
  31. Официальный канал Python в Telegram
  32. TON Smart Challenge #2: участие и подготовка
  33. Оптимизация создания строк
  34. Лимиты на ресурсы Python
  35. Присвоение значений переменным в Python
  36. Поиск элементов BeautifulSoup
  37. Декораторы в Python
  38. Поиск уникальных и повторяющихся элементов
  39. Работа с модулем bisect
  40. Переопределение метода __floordiv__
  41. Нахождение хеша для бесконечности и NaN в Python
  42. Enum в Python
  43. Управление пакетами с pip
  44. Создание новой даты в Python

Marketello читают маркетологи из крутых компаний