Курс 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. Разность множеств
  2. Создание циклической ссылки
  3. Оператор морж в Python 3.8
  4. Роль ключевого слова self
  5. Метод сравнения объектов в Python
  6. Однострочники Python
  7. Прокачанный трейсинг ошибок
  8. Обработка исключений с блоком else
  9. Блок else в циклах Python
  10. Изменение списка срезом
  11. Новшества Flask 2.0
  12. Работа с URL-адресами в Python
  13. Игра «Камень, ножницы, бумага» — Python
  14. Удаление ресурса в Python
  15. Обрезка изображения с Pillow
  16. Многоточие в Python
  17. Лямбда-функции в Python
  18. Переопределение метода __or__()
  19. Настройка вывода NumPy
  20. Поиск шаблона в начале строки
  21. Оператор распаковки в Python
  22. Разделение строки в Python
  23. Названия переменных
  24. Тестирование функции сложения
  25. Запрос DELETE с библиотекой requests
  26. Асинхронное выполнение задач в процессах
  27. Равенство и идентичность в Python
  28. Создание словаря с значением по умолчанию
  29. Создание задания в Cron
  30. Переопределение унарных операторов
  31. Переворот списка в Python
  32. Python Ellipsis использование
  33. Работа с комбинациями в Python.
  34. Python: цикл for и оператор присваивания
  35. Лямбда-функции в Python
  36. Преобразование текста в речь с Python
  37. Поиск файлов по шаблону
  38. Преобразование данных в Python
  39. Разделение функций на этапы
  40. Порядок и длина множеств в Python
  41. Контекстный менеджер в Python
  42. Сравнение def и lambda функций в Python
  43. Работа с типами данных в Python с помощью pydantic.
  44. Выключение компьютера с помощью Python

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