Курс 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. Метод invert для побитового отрицания
  2. Логирование с Logzero
  3. Ветвление выражения в Python
  4. Замена текста с помощью sub
  5. Функции в одну строку
  6. Сравнение def и lambda-функций
  7. Создание виртуальной среды
  8. Лямбда-функции для min/max
  9. Работа с файлами в Python
  10. Измерение времени выполнения кода с помощью time
  11. Оператор морж в Python 3.8
  12. Добавление элементов в список: append() vs extend()
  13. Проверка подстроки в строке
  14. Создание словарей с defaultdict()
  15. Декоратор для группы пользователей в Django
  16. Профилирование данных с Pandas.
  17. Зарезервированные слова в Python
  18. Pretty-printing JSON в Python
  19. Проверка наличия элемента в списке
  20. Сортировка и обратный порядок
  21. Объединение списков в Python
  22. Разделение строки с регулярными выражениями
  23. Создание файла с проверкой ошибки
  24. Работа со словарями
  25. Создание матрицы в Python
  26. Генератор чисел Фибоначчи
  27. Экспорт внешнего файла с помощью writefile
  28. Срезы в Python
  29. Оператор распаковки в Python
  30. Принципы Zen Python
  31. Переопределение оператора % для объектов
  32. Создание треугольника Паскаля
  33. Порядок операций в Python
  34. Прокачанный трейсинг ошибок
  35. Метод repr() в Python
  36. Список методов и атрибутов
  37. Работа с итераторами в Python
  38. Определение наиболее частого элемента с помощью collections.Counter
  39. Проверка элементов списка условием
  40. Управление ресурсами в Python
  41. Оператор break в Python
  42. *args и **kwargs в Python
  43. Декораторы в Python
  44. Проверка файла .py на синтаксис.

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