Я просмотрел PEP-0589 и мне интересно, почему/как работает typing.TypedDict при его подклассе, например:
Код: Выделить всё
class A(TypedDict, total=False):
x: int
y: int
В частности, TypedDict — это функция, которая предоставляет __mro_entries__, которая снова является функцией, возвращающей конструктор метакласса.
Некоторые вещи, которые я не делаю понять:
- Вы можете создать подкласс функции? Как это работает?
- Еще более удивительным является передача всего kwarg – как эта переменная передается конструктору TypedDict?
Я был бы очень признателен, если бы кто-нибудь подробно объяснил эту магию и предоставил документацию, поскольку я не смог найти ее в официальной документации.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... g-typedict