Классы в Python / Как работает ООП / Магические методы, дескрипторы, Name Mangling
В этом выпуске ныряем в интерпретатор и разбираемся, как устроено объектно-ориентированное программирование в Python. Поговорим о том, что такое классы и пересоберём свой собственный класс. Например, вы узнаете:
– что в Python можно создавать классы не только наследуя их от других классов, но и от любых объектов
– почему понимание метаклассов критично для понимания ООП в Python
– как модифицировать и расширять функциональность классов с помощью метаклассов
– про MRO, Name Mangling, магические методы и многое другое
Спикер – Никита Соболев, core-разработчик СPython и других open-source проектов, автор канала@sobolevn
✅ 13 августа: Бесплатный курс по основам Python с помощью ментора:
🔥 Бесплатный курс «Основы Python» от Хекслета. Начните в любое время:
Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями. Подписывайтесь на наш telegram-канал:
____
🔗 Полезные ссылки от Никиты:
- Настольная игра:
- Сложный баг в dataclasses с `cell`s
____
🔗 Полезные ссылки от Хекслета:
– Комьюнити Хекслета:
– Публичные собеседования для Python-разработчиков:
– Список тестовых заданий от ИТ-компаний:
– Livecoding: первая программа на Python в браузере
____
00:00 интро
00:44 о спикере
01:39 как работают классы в Python
02:40 создание классов в Python при помощи инструкции виртуальной машины
04:02 как работает type
05:26 method resolution order
07:04 resolve_bases
08:19 prepare_class
09:54 конфликт мета-классов
12:12 работа со статическими классами
13:03 PEP630 и heap types
15:45 CAPI
16:43 роль метаклассов в создании классов
20:00 наследованное в Python
24:24 доступ к атрибутам через . в Python
26:00 _PyObject_Generic_AttrWithDict
30:01 дескрипторы и их роль в доступе к атрибутам
31:44 магические методы и их использование
34:34 nb_add VS sq_concat
37:42 Name Mangling и __private
40:55 super () и тонкости его вызова
44:46 резюмируем
#python #pythonprogramming #pythontutorial #программирование