Дзен Видео Downloader

Самый простой способ скачать Дзен видео, музыку, миниатюру без водяных знаков и логотипа.

Hexlet: о программировании и IT

64 2 месяца назад

Классы в Python / Как работает ООП / Магические методы, дескрипторы, Name Mangling

КОНЧИК! Щелкните правой кнопкой мыши и выберите "Save link as..." для загрузки.

Loading...
В этом выпуске ныряем в интерпретатор и разбираемся, как устроено объектно-ориентированное программирование в Python. Поговорим о том, что такое классы и пересоберём свой собственный класс. Например, вы узнаете:

– что в Python можно создавать классы не только наследуя их от других классов, но и от любых объектов
– почему понимание метаклассов критично для понимания ООП в Python
– как модифицировать и расширять функциональность классов с помощью метаклассов
– про MRO, Name Mangling, магические методы и многое другое

Спикер – Никита Соболев, core-разработчик СPython и других open-source проектов, автор канала @sobolevn 

✅ 13 августа: Бесплатный курс по основам Python с помощью ментора: https://ru.hexlet.io/link/ChT1gc
🔥 Бесплатный курс «Основы Python» от Хекслета. Начните в любое время: https://ru.hexlet.io/link/PqEEUp

Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями. Подписывайтесь на наш telegram-канал: https://t.me/hexlet_ru
____
🔗 Полезные ссылки от Никиты:
- Настольная игра: https://github.com/sobolevn/ship-it-boardgame
- Сложный баг в dataclasses с `cell`s https://github.com/python/cpython/pull/111538
____
🔗 Полезные ссылки от Хекслета:
– Комьюнити Хекслета: https://t.me/hexletcommunity
– Публичные собеседования для Python-разработчиков: https://www.youtube.com/playlist?list=PLo6puixMwuSOa_0EH6X4OXzFAmyQGS3a3
– Список тестовых заданий от ИТ-компаний: https://github.com/Hexlet/ru-test-assignments
– Livecoding: первая программа на Python в браузере https://youtu.be/WQV3eDIAyk8
____
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 #программирование