ЛКПП 2: +

2024 ж. 14 Сәу.
2 114 Рет қаралды

Лучший курс по питону: 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!

    @notacatbeaver7853@notacatbeaver785314 күн бұрын
  • Просто Боженька!

    @alexandervalter@alexandervalter4 күн бұрын
  • Очень неожиданно! Пока о таком глубоком подходе и не думалось даже. Спасибо!

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

    @yuliyao192@yuliyao1922 күн бұрын
    • Ставлю два лайка!

      @sobolevn@sobolevn2 күн бұрын
  • Хотел бы разбор библиотеки typeshed!

    @user-oq5kj2ku9o@user-oq5kj2ku9o15 күн бұрын
  • Звук стал лучше, да? :)

    @sobolevn@sobolevn15 күн бұрын
    • да. и про typeshad тоже давай

      @aiornerok3931@aiornerok393115 күн бұрын
    • Звук стал идеальным! Спасибо Никита!)

      @ashm_tech@ashm_tech14 күн бұрын
  • Разбор typeshed был бы очень уместен и приятен.

    @user-rh8kb4fy9g@user-rh8kb4fy9g8 күн бұрын
  • Здравый контент

    @user-hk9vg6on9h@user-hk9vg6on9h14 күн бұрын
  • Никита, спасибо за курс! Есть понимание сколько всего будет уроков и как часто они будут выходить?

    @user-qx6ln1hv4v@user-qx6ln1hv4v8 күн бұрын
    • Надеюсь, что где-то 50 выпусков. В среднем раз в неделю, иногда чаще, иногда реже.

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

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

      @sobolevn@sobolevn7 күн бұрын
  • Никогда не пользовался typeshed

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

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

      @sobolevn@sobolevn14 күн бұрын
    • @@sobolevn да, поторопился спросить, спасибо

      @alpden550@alpden55014 күн бұрын
  • Контент классный, но со звуком беда, оч тихо.

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

      @sobolevn@sobolevn14 күн бұрын
    • @@sobolevn У меня всё ок, слушаю на 20% и всё слышно

      @agentdaun5699@agentdaun569910 күн бұрын
KZhead