При создании класса метакласс задаёт специальное пространство имён: как это меняет выполнение тела класса?
База Hintsage
Программирование Python
Язык Python и его модель данных.
Темы раздела
Выберите подраздел
- 0 вопросов
Общие вопросы
Смешанные вопросы по Python.
Открыть раздел - 50 вопросов
Python Core
Типы, области видимости, функции, модули и базовая семантика.
Открыть раздел - 50 вопросов
Модель данных
Протоколы объектов, dunder-методы, дескрипторы и классы.
Открыть раздел - 48 вопросов
Коллекции и итераторы
Коллекции, comprehensions, iterators и generators.
Открыть раздел - 50 вопросов
Функции и декораторы
Замыкания, decorators, callable-объекты и управление контекстом.
Открыть раздел - 50 вопросов
Конкурентность и asyncio
Threads, processes, GIL, coroutines и asyncio.
Открыть раздел - 50 вопросов
Память и производительность
Управление памятью, профилирование и оптимизация Python.
Открыть раздел - 50 вопросов
Тестирование
pytest, fixtures, mocks и организация тестов.
Открыть раздел
Практика
Вопросы: Программирование Python
Что делает Python при чтении отсутствующего ключа у подкласса dict с определённым missing?
От чего зависит порядок поиска метода в иерархии классов при множественном наследовании Python?
Сравните приоритет доступа к атрибуту класса: что победит — дескриптор в метаклассе или одноимённый атрибут самого класса?
Как Python обрабатывает подписывание класса квадратными скобками, если в классе определён __class_getitem__?
Удаление атрибута экземпляра срабатывает на дескриптор класса: в каком случае Python вызывает его __delete__, а не удаляет запись экземпляра?
Представьте, что атрибут-дескриптор читают через класс, а не через экземпляр: какое значение получает параметр obj в его get?
В какой момент Python вызывает __init_subclass__ при создании нового класса-наследника?
При обходе объекта циклом for, не имеющего iter, какой протокол Python использует вместо него?
При вызове класса в каком случае Python пропустит вызов init после выполнения new?
За счёт какого механизма функция, объявленная в классе, при доступе через экземпляр превращается в связанный метод?
При проверке истинности объекта, у класса которого определены bool и len, какой метод Python использует первым?
При выполнении операции над объектом специальный метод переопределён только в экземпляре: будет ли Python учитывать его?
При переопределении getattribute как безопасно получить обычный атрибут внутри этой реализации, не запустив её повторно?
В классе объявили __slots__ без __dict__: где Python ожидает хранить атрибуты экземпляра?
Как дескриптор узнаёт имя атрибута, под которым он объявлен в классе?
Объясните механизм: в какой момент Python вызывает __getattr__ при обращении к атрибуту объекта?
Разберите механизм доступа к атрибуту: какое значение напечатает код и почему запись в __dict__ не меняет результат?
class D:
def __get__(self, obj, owner):
return 'descriptor'
def __set__(self, obj, value):
raise AttributeError('read only')
class C:
x = D()
c = C()
c.__dict__['x'] = 'instance'
print(c.x)
Как Python выбирает модуль при импорте, если одинаковое имя есть в нескольких каталогах?
Дескриптор classmethod при обращении через экземпляр: какой объект получает его функция первым аргументом?
Показано 281–300 из 348