ЛКПП 2: +
ฝัง
- เผยแพร่เมื่อ 2 พ.ค. 2024
- Лучший курс по питону: 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
Нужен разбор typeshed!
Просто Боженька!
typeshed упоминал и Рамальо, но что это в деталях, послушала бы конечно
Спасибо за канал! Это лучшее, что видела по питону.
Ставлю два лайка!
Очень неожиданно!
Пока о таком глубоком подходе и не думалось даже.
Спасибо!
Походу я понял, чтобы вырасти из middle и стать senior на Python, мне нужно выучить C! =)
Хотел бы разбор библиотеки typeshed!
Звук стал лучше, да? :)
да. и про typeshad тоже давай
Звук стал идеальным! Спасибо Никита!)
Никита, спасибо за курс! Есть понимание сколько всего будет уроков и как часто они будут выходить?
Надеюсь, что где-то 50 выпусков. В среднем раз в неделю, иногда чаще, иногда реже.
Разбор typeshed был бы очень уместен и приятен.
Здравый контент
1) Если после оптимизации сложения до BINARY_OP_ADD_INT мы сложим строки, то после неудачного сложения, будет вызвана BINARY_OP? Сколько раз нужно потом сложить строки, чтобы оптимизация стала BINARY_OP_ADD_UNICODE?
2) Как я понял ошибку с += для tuple, она возникает из-за того что мы после изменения списка, пытаемся присвоить "новый" список, вместо старого.
Но если посмотреть id списка до += и после, то id совпадает, что намекает что список как объект остается тем же. Т.е. проблема в том что мы не можем менять объект, даже если это тот же самый объект?
1) да, fallback в BINARY_OP предусмотрен
2) tuple не определяет *никаких* методов для мутации себя. сравнение значений даже не успевает произойти. метод не найден, ничего не вызывается :(
а зачем return self.__class__, если
@dataclass
class Number:
n: int
def __add__(self, other):
return self.n + other
корректен?
Они делают разное: `self.n + other` вернет чистое значение, `self.__class__(self.n + other)` вернет `Number` (или его подкласс) со значением внутри.
@@sobolevn да, поторопился спросить, спасибо
Никогда не пользовался typeshed
Что такое _Т_
какое T? :)
Контент классный, но со звуком беда, оч тихо.
Я сделал громче, относительно первых видосов. Нужно и дальше улучшать. Кажется, что в моем случае проще купить другой микрофон.
@@sobolevn У меня всё ок, слушаю на 20% и всё слышно
11:56 Это пример из книги (Python к Вершинам Мастерства 2016 года) недавно перечитвал второе издание
Безмерно уважаю Лучиано. Кстати, я как-то приглашал его к нам на конференцию: th-cam.com/video/5L4naRxKuKw/w-d-xo.html Была возможность пообщаться с ним, от чего уважения только прибавилось :)