ЛКПП 2: +
Лучший курс по питону: 2
00:00 Вступление
00:30 Junior: __add__, __radd__, __iadd__, типизация
06:36 Middle: AST и BinOp, атомарность __iadd__, грамматика и приоритет операций, модуль operators
16:11 Senior: type slots, оптимизация байткода, как работает сложение двух PyLong объектов
25:45 Ссылки
Полезные ссылки:
- Материалы: github.com/sobolevn/the-best-...
- Мой GitHub: github.com/sobolevn
- Поддержать: boosty.to/sobolevn
- Сообщество: discord.python.ru
Пікірлер: 24
Нужен разбор typeshed!
Просто Боженька!
Очень неожиданно! Пока о таком глубоком подходе и не думалось даже. Спасибо!
typeshed упоминал и Рамальо, но что это в деталях, послушала бы конечно Спасибо за канал! Это лучшее, что видела по питону.
@sobolevn
4 күн бұрын
Ставлю два лайка!
Хотел бы разбор библиотеки typeshed!
Звук стал лучше, да? :)
@aiornerok3931
16 күн бұрын
да. и про typeshad тоже давай
@ashm_tech
16 күн бұрын
Звук стал идеальным! Спасибо Никита!)
Разбор typeshed был бы очень уместен и приятен.
Никита, спасибо за курс! Есть понимание сколько всего будет уроков и как часто они будут выходить?
@sobolevn
9 күн бұрын
Надеюсь, что где-то 50 выпусков. В среднем раз в неделю, иногда чаще, иногда реже.
Здравый контент
1) Если после оптимизации сложения до BINARY_OP_ADD_INT мы сложим строки, то после неудачного сложения, будет вызвана BINARY_OP? Сколько раз нужно потом сложить строки, чтобы оптимизация стала BINARY_OP_ADD_UNICODE? 2) Как я понял ошибку с += для tuple, она возникает из-за того что мы после изменения списка, пытаемся присвоить "новый" список, вместо старого. Но если посмотреть id списка до += и после, то id совпадает, что намекает что список как объект остается тем же. Т.е. проблема в том что мы не можем менять объект, даже если это тот же самый объект?
@sobolevn
9 күн бұрын
1) да, fallback в BINARY_OP предусмотрен 2) tuple не определяет *никаких* методов для мутации себя. сравнение значений даже не успевает произойти. метод не найден, ничего не вызывается :(
а зачем return self.__class__, если @dataclass class Number: n: int def __add__(self, other): return self.n + other корректен?
@sobolevn
15 күн бұрын
Они делают разное: `self.n + other` вернет чистое значение, `self.__class__(self.n + other)` вернет `Number` (или его подкласс) со значением внутри.
@alpden550
15 күн бұрын
@@sobolevn да, поторопился спросить, спасибо
Никогда не пользовался typeshed
Что такое _Т_
@sobolevn
Күн бұрын
какое T? :)
Контент классный, но со звуком беда, оч тихо.
@sobolevn
16 күн бұрын
Я сделал громче, относительно первых видосов. Нужно и дальше улучшать. Кажется, что в моем случае проще купить другой микрофон.
@agentdaun5699
11 күн бұрын
@@sobolevn У меня всё ок, слушаю на 20% и всё слышно