ЛКПП 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

  • @notacatbeaver7853
    @notacatbeaver785316 күн бұрын

    Нужен разбор typeshed!

  • @alexandervalter
    @alexandervalter6 күн бұрын

    Просто Боженька!

  • @semenowictor
    @semenowictor15 күн бұрын

    Очень неожиданно! Пока о таком глубоком подходе и не думалось даже. Спасибо!

  • @yuliyao192
    @yuliyao1924 күн бұрын

    typeshed упоминал и Рамальо, но что это в деталях, послушала бы конечно Спасибо за канал! Это лучшее, что видела по питону.

  • @sobolevn

    @sobolevn

    4 күн бұрын

    Ставлю два лайка!

  • @user-oq5kj2ku9o
    @user-oq5kj2ku9o16 күн бұрын

    Хотел бы разбор библиотеки typeshed!

  • @sobolevn
    @sobolevn16 күн бұрын

    Звук стал лучше, да? :)

  • @aiornerok3931

    @aiornerok3931

    16 күн бұрын

    да. и про typeshad тоже давай

  • @ashm_tech

    @ashm_tech

    16 күн бұрын

    Звук стал идеальным! Спасибо Никита!)

  • @user-rh8kb4fy9g
    @user-rh8kb4fy9g9 күн бұрын

    Разбор typeshed был бы очень уместен и приятен.

  • @user-qx6ln1hv4v
    @user-qx6ln1hv4v9 күн бұрын

    Никита, спасибо за курс! Есть понимание сколько всего будет уроков и как часто они будут выходить?

  • @sobolevn

    @sobolevn

    9 күн бұрын

    Надеюсь, что где-то 50 выпусков. В среднем раз в неделю, иногда чаще, иногда реже.

  • @user-hk9vg6on9h
    @user-hk9vg6on9h15 күн бұрын

    Здравый контент

  • @user-qx6ln1hv4v
    @user-qx6ln1hv4v9 күн бұрын

    1) Если после оптимизации сложения до BINARY_OP_ADD_INT мы сложим строки, то после неудачного сложения, будет вызвана BINARY_OP? Сколько раз нужно потом сложить строки, чтобы оптимизация стала BINARY_OP_ADD_UNICODE? 2) Как я понял ошибку с += для tuple, она возникает из-за того что мы после изменения списка, пытаемся присвоить "новый" список, вместо старого. Но если посмотреть id списка до += и после, то id совпадает, что намекает что список как объект остается тем же. Т.е. проблема в том что мы не можем менять объект, даже если это тот же самый объект?

  • @sobolevn

    @sobolevn

    9 күн бұрын

    1) да, fallback в BINARY_OP предусмотрен 2) tuple не определяет *никаких* методов для мутации себя. сравнение значений даже не успевает произойти. метод не найден, ничего не вызывается :(

  • @alpden550
    @alpden55015 күн бұрын

    а зачем return self.__class__, если @dataclass class Number: n: int def __add__(self, other): return self.n + other корректен?

  • @sobolevn

    @sobolevn

    15 күн бұрын

    Они делают разное: `self.n + other` вернет чистое значение, `self.__class__(self.n + other)` вернет `Number` (или его подкласс) со значением внутри.

  • @alpden550

    @alpden550

    15 күн бұрын

    @@sobolevn да, поторопился спросить, спасибо

  • @alyarock
    @alyarock6 күн бұрын

    Никогда не пользовался typeshed

  • @naivrick9782
    @naivrick9782Күн бұрын

    Что такое _Т_

  • @sobolevn

    @sobolevn

    Күн бұрын

    какое T? :)

  • @GLOBALeVGENIUS
    @GLOBALeVGENIUS16 күн бұрын

    Контент классный, но со звуком беда, оч тихо.

  • @sobolevn

    @sobolevn

    16 күн бұрын

    Я сделал громче, относительно первых видосов. Нужно и дальше улучшать. Кажется, что в моем случае проще купить другой микрофон.

  • @agentdaun5699

    @agentdaun5699

    11 күн бұрын

    @@sobolevn У меня всё ок, слушаю на 20% и всё слышно

Келесі