Python 3.10 — ЛУЧШИЙ релиз после 3.7! Pattern matching, новинки и при чём здесь Rust

preview_player
Показать описание


Вчера вышел Python 3.10 — и это лучший релиз Python за последние годы. Поговорим о новинках и подробно рассмотрим новое выразительное средство языка — Pattern Matching, а также узнаем, при чём здесь Rust, откуда вообще ноги растут, и, главное, куда:)!.

/****************** about ******************/

Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:

Рекомендации по теме
Комментарии
Автор

При написании Helo world, ожидал, что выдаст ошибку - expected 'l'...

vbvrumy
Автор

Очень познавательно и удобно, когда вечером за чашкой чая смотришь нововведения в языке. Надеюсь это станет традицией))

slikeiv
Автор

Я, как человек который программировал в ФП стиле, безмерно рад тому, что в языках появляется эта крайне удобная штука, а еще что монады потихоньку проникают в другие языки, Result и Option тому примеры)

snatvb
Автор

Один из самых крутых и полезных каналов на ютубе, просто глоток свежего воздуха. Алексей, жги и не останавливайся! Большое человеческое спасибо!

BogdanKozlovskyi
Автор

Pattern matching используется с 1957г)
Представьте, несколько медленно важные концепты входят в жизнь.

Мир юн.

ValeryKhamenya
Автор

За "Привет катаны!" отдельный огромный лайк!!!
Эта прекрасная фраза почему-то куда-то пропала на некоторое время, что лично меня огорчило.
Да, мне нравится и сама фраза, и как Алексей ее произносит!
Видео как всегда огонь!
Кратко и содержательно.

svhanz
Автор

Добрый день, Алексей! Приятно удивлен, что с последнего ролика прошло меньше недели!

Я сам не пишу на python, но на каждый подобный обзор я завариваю чаёк, сажусь и великолепно провожу 20-40 минут, что бы быть в курсе "чево там нового у питонистов случалось".

Любое видео у вас, Алексей, очень... как бы выразиться точнее... уютное! Вы даёте исчерпывающую информацию по материалу без какого-то надменного снобизма и всегда с оглядкой на тех, кто может только начинать. Чувствуется, что от человека и для людей. Лучи добра и благодарности вам!

owlscatcher
Автор

Около месяца учу Скалу. Там паттерн матчинг очень понравился, понял что в Питоне его реально не хватает. И тут такой подарок!

nickolayyegorov
Автор

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

ZhdanParfenov
Автор

Ok | Err - это не enum, а discriminated union. Enum - это набор констант все-таки, а тут некоторое дерево подклассов. В некоторых языках он встроен, в некоторых (в Котлине, например) его можно сделать на базе sealed классов. В Питоне же только сымитировать (нет механизма, позволяющего статически проверить, все ли случаи покрыты pattern matching'ом).

unstope
Автор

Алексей забыл упомянуть, что какой паттерн быстрее найдется, такой и будет результатом. А паттернов подходящих может быть несколько. К примеру:

conf = {
'field1': 12,
'field2': '100500',
'field3': ['abc', 'def', 'ghi']
}

match conf:
case {'field2': str(field2_), 'field3': list(field3_)}:
print(f'conf: field2: {field2_} ; field3: {field3_}')
case {'field1': int(field1_)}:
print(f'conf: field1: {field1_}')
case _:
print('conf: HZ')

ntvisigoth
Автор

Я думаю, что строку "Явное лучше неявного" можно смело вычёркивать из дзена пайтон.

amigo
Автор

есть же Pydantic для классов и typeguard для функций чтобы были проверки типизации в рантайме, без всяких isinstance.
Вообще выглядит кстати костылем что разработчику на питоне приходится делать что то кроме аннотации типов для проверок типов.
Если есть аннотация типа то всё остальное должен делать сам питон.
Динамическая типизация должна быть дополнительной и опциональной.

iteospace
Автор

15:17 а, просто условие поставить с регекспом, отлично!

eagold
Автор

Огненно!🔥
То чувство, когда в твоей компании все еще python3.7, просто потому шта некогда обновиться и всякие дикие либы посыпятся😔

exorciste
Автор

Если мы хотим писать код, который не сваливается в рантайме, все очень просто... берем rust и пишем программу)

Mytest
Автор

Наконец-то дождались! В сраном PHP всё это появилось уже давно, причём входные типы не нужно проверять - они проверяются в ходе выполнения программы. Проверка входных типов в python - это убогий костыль.

sidorovich
Автор

Блин... Я нихрена не понимаю в этом, но подача материала заставила меня залипнуть на 33 минуты 👍

arus
Автор

Спасибо! Крутой канал, почему я только сейчас его нашел???? Удачи

TheFunkogolik
Автор

Спасибо! Очень доступно и познавательно!

S.YOU.S