Курс 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. Переопределение метода
  3. Оптимизация методов в Python 3.7
  4. Метод classmethod
  5. Объединение словарей в Python 3.5+
  6. Python: возвращение нескольких значений
  7. Удаление файлов в Python
  8. Работа с collections.Counter
  9. Условные выражения в Python
  10. Имена объектов в Python
  11. Контекстный менеджер в Python
  12. Документация функции help() в Python
  13. Combobox в Tkinter
  14. Импорт модулей в Python 3.12
  15. Форматирование объектов с модулем pprint
  16. Использование type hints
  17. Выключение компьютера с помощью Python
  18. Поиск всех индексов подстроки
  19. Поиск шаблона в строке
  20. Принципы LSP и ISP в Python
  21. Ускорение обработки данных с %autoawait
  22. Расчет времени выполнения
  23. Принцип одной функции
  24. Создание таблиц в терминале с PrettyTable
  25. Основы работы с базами данных в Python
  26. Основы Python
  27. Работа с *args и **kwargs в Python
  28. Python: отсутствие точек с запятыми
  29. Поиск с библиотекой Google
  30. Функции min(), max(), sum()
  31. Многоточие в Python
  32. Фильтрация элементов с помощью islice
  33. Поиск наиболее частого элемента списке
  34. Инициализация объекта
  35. Преобразование в float
  36. Тестирование с unittest
  37. Регистрация на TenChat
  38. Именованные кортежи в Python
  39. Функции map, filter и reduce
  40. Функции map() и reduce() в Python
  41. Чтение и запись TOML-конфигов
  42. Функция zip() — объединение последовательностей
  43. Регистрация на хакатоне

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