Русский
Открыть в Telegram

Пост Рассмотрим следующую иерархию классов:

3 декабря 2025
Б
Библиотека Python разработчика | Книги по питону
Рассмотрим следующую иерархию классов: class GrandParent: pass class Parent1(GrandParent): pass class Parent2(GrandParent): pass class Child(Parent1, Parent2): pass В каком порядке будет производиться поиск метода Child.x()? Наивный подход заключается в рекурсивном поиске через все родительские классы, что даст порядок: Child, Parent1, GrandParent, Parent2. Такой метод используется во многих языках программирования, однако он не совсем логичен, так как Parent2 более специфичен, чем GrandParent, и его нужно проверять раньше. Чтобы исправить эту проблему, Python использует линеаризацию C3 (C3 superclass linearization), алгоритм, который всегда ищет метод сначала во всех дочерних классах, а затем уже в родительских. Пример вывода MRO (Method Resolution Order): In : Child.__mro__ Out: (__main__.Child, __main__.Parent1, __main__.Parent2, __main__.GrandParent, object) 📲 Мы в MAX 👉@BookPython
6 · 2.7K ·

Рядом в ленте

ББиблиотека Python разработчика | Книги по питонуИногда вам нужно запустить блок кода с несколькими контекстными менеджерами. Например: with open('f') as f: with open('g') as g: with open('h') as h: pass НачинББиблиотека Python разработчика | Книги по питонуКогда корутина asyncio хочет остановиться и взаимодействовать с циклом событий (event loop), она использует await obj (или yield from obj до Python 3.6). Объект
это сообщение
ББиблиотека Python разработчика | Книги по питонуПрямой доступ к атрибутам объекта может быть не самой лучшей идеей. Если клиенты взаимодействуют с объектом через методы, вы всегда можете изменить способ обрабББиблиотека Python разработчика | Книги по питонуС версии Python 3.0 выбрасывание исключения внутри блока except автоматически добавляет перехваченное исключение в атрибут __context__ нового исключения. Это пр
ББиблиотека Python разработчика | Книги по питонуБиблиотека Python разработчика | Книги по питону@BookPython · канал · Технологии
17 943подписчиков725средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем