LINUX.ORG.RU

Python 3.13

 , ,


1

5

После года разработки вышла новая стабильная версия интерпретируемого языка программирования Python 3.13. Релиз включает изменения в собственно языке и его стандартной библиотеке. К важнейшим изменениям относятся использование нового интерактивного интерпретатора по умолчанию, экспериментальная поддержка работы в режиме free-threaded (т. е. с отключением global interpreter lock) (PEP 703), и JIT-компилятор (PEP 744).

С этого релиза осуществлён переход на новый цикл релизов Python (Annual Release Cycle for Python, PEP 602), в связи со стремлением расширить период «полной поддержки» новых выпусков:

  • Python 3.9–3.12 имеют полтора года полной поддержки, за ними следует три с половиной года исправления брешей в безопасности.
  • Python 3.13 и более поздние релизы будут иметь два года полной поддержки и три года исправлений уязвимостей.

Продолжается работа по усовершенствованию сообщений об ошибках. Теперь traceback’и по умолчанию подсвечиваются цветом. Встроенная функция locals() теперь имеет определённую семантику для изменения возвращаемого меппинга (PEP 667), а параметры типов (typing.TypeVar, typing.ParamSpec, typing.TypeVarTuple) поддерживают значения по умолчанию (PEP 696).

Изменения стандартной библиотеки включают удаление устаревших API и модулей (aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu и xdrlib), а также привычные улучшения в области дружелюбия к пользователю и корректности. Несколько модулей исключены из поставки в связи с объявлением их устаревшими в Python 3.11 (PEP 594), в том числе инструмент и библиотека 2to3.

Из улучшений безопасности стоит отметить, что ssl.create_default_context() устанавливает флагами по умолчанию ssl.VERIFY_X509_PARTIAL_CHAIN и ssl.VERIFY_X509_STRICT.

Добавлена поддержка платформ: Apple iOS и Android теперь официально поддерживаемые платформы (tier 3) (PEP 730, 738). wasm32-wasi поддерживается на уровне tier 2, прекращена официальная поддержка wasm32-emscripten.

Для более основательного ознакомления с нововведениями релиза, обращайтесь к официальной документации (по библиотеке, по языку). Руководствуйтесь статьей «Переход на Python 3.13» для обновления своих проектов на новую версию языка. Также см. changelog.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 7)
Ответ на: комментарий от AntonI

Питон стал несерьезным инструментом для долгоживущих программ

Поэтому ютуб работает на питоне… Хотя Яндекс.Такси скорее всего написали на богомерзкой джанге, потому что Uber на ней — это какой-то постмодерн, который сложно выкупить… Ладно там есть вторая часть предложения

ИСКЛЮЧИТЕЛЬНО из-за уродского отношения разработчиков питона к обратной совместимости

Ах они негодяи… с 2007 года уговаривали всех переходить на троечку, чтобы привыкать к новому синтаксису, но нет они не предупреждали, не агитировали… Нужно было просто сразу сделать Python 2 deprecated и не тратить силы и время на заигрывание с ретроградами и фанатиками, верующими что раньше трава была зеленее, девки сисястее, а птицы давали молоко

rtxtxtrx ★★
()
Ответ на: комментарий от rtxtxtrx

Ах они негодяи… с 2007 года уговаривали всех переходить на троечку, чтобы привыкать к новому синтаксису

а зачем? что дал python3, сломав старое?

alt-tab-let ★★
()
Ответ на: комментарий от rtxtxtrx

Нужно было просто сразу сделать Python 2 deprecated

Т.е. вариант не ломать обратную совместимость вообще не рассматривается? Интересно там у Вас в голове…

AntonI ★★★★★
()
Ответ на: комментарий от alt-tab-let

В третьем питоне тот же range() работает на ленивых вычислениях, что экономит память… Тож самое с map()… Лень объяснять чем строки третьего питона лучше говна-набора байт… В третьем питоне есть асинхронщина, f-строки, тайп-хинты… и наконец можно отключить GIL, который мешал криворуким

rtxtxtrx ★★
()
Ответ на: комментарий от rtxtxtrx

В третьем питоне тот же range() работает на ленивых вычислениях, что экономит память… Тож самое с map()… Лень объяснять чем строки третьего питона лучше говна-набора байт… В третьем питоне есть асинхронщина, f-строки, тайп-хинты… и наконец можно отключить GIL, который мешал криворуким

хотелось бы знать имя и фамилию того, кто мешал это сделать во втором python. либо делать что-то концептуально новое, а мы бы в py2 обошлись бы с xrange

alt-tab-let ★★
()
Ответ на: комментарий от rtxtxtrx

тот же range() работает на ленивых вычислениях, что экономит память… Тож самое с map()

но увеличивает время работы и делает старый код некорректным.

Лень объяснять чем строки третьего питона лучше говна-набора байт…

ничем.

В третьем питоне есть асинхронщина,

бггг!

f-строки,

да, это удобно. А еще из годного там тюлени появились (:=) и нормальная перегрузка операций сравнения.

тайп-хинты…

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

и наконец можно отключить GIL

И получить UB на UB.

AntonI ★★★★★
()
Ответ на: комментарий от rtxtxtrx

с 2007 года

Последний кейс поломки у меня был в 3.12, от исключения distutils. Я уверен, что список исключенных модулей в 3.13 тоже не пройдет для всех безболезненно.

2 vs 3 это — само по себе — нормально, при изменении первой компоненты версии никто не ждал обратной совместимости.

Но сделано это все было плохо, и Python 4 никогда не будет, потому что они теперь ссут. И оттого ломают в минорных версиях.

akho
()
Ответ на: комментарий от akho

при изменении первой компоненты версии никто не ждал обратной совместимости.

почему код написанный под gcc1 какой нить собирается без проблем gcc11?

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

почему код написанный под gcc1 какой нить собирается без проблем gcc11?

Только если не использует экспериментальные расширения, от которых отказались. И если не использует устаревшие библиотеки. И только потому, что ко временам GCC1 C более-менее устоялся.

question4 ★★★★★
()
Ответ на: комментарий от AntonI

Python не имеет спецификации, и определяется реализацией (насколько я понимаю). В C23 вот K&R-style декларации убрали, сломали же ж, ужас.

Мне кажется, что попоболь от перехода от 2 к 3 уже прошла, а вот от того, что обратная совместимость продолжает ломаться постоянно — не прошла, и не пройдет никогда.

akho
()
Ответ на: комментарий от question4

Расширения на то и расширения что никто ничего не обещал. Питон как бы к 2.4 тоже уже вполне устоялся. При разработке py3 вообще НИЧЕГО не мешало сохранить обратную совместимость и просто завезти новых фич. Ведь ни одну из родовых травм питона тройка не вылечила! Только новых ловушек добавила, с теми же ленивыми вычислениями которые теперь практически всюду, но далеко не всюду они хороши…

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

В третьем питоне тот же range() работает на ленивых вычислениях, что экономит память…

во втором на них работал xrange(). Сэкономлен, видимо, один байт памяти на букву x.

Лень объяснять чем строки третьего питона лучше говна-набора байт…

при смене версии «старый» str переименован в bytes, а unicode в str. Со всем этим дерьмом действительно надо было что-то делать, но перестановка кроватей помогла мало.

В третьем питоне есть асинхронщина, f-строки, тайп-хинты…

Это все новый синтаксис, который можно было добавить обратно-совместимым образом. Более того — он и был добавлен обратно-совместимым образом, в 3.0 ничего этого не было.

akho
()
Последнее исправление: akho (всего исправлений: 1)
Ответ на: комментарий от akho

В C23 вот K&R-style декларации убрали, сломали же ж, ужас.

Синтаксис объявления функций K&R объявили устаревшими в самом первом черновике стандарта в 1988-ом году. Компиляторы на этот синтаксис выдают предупреждение с самого появления стандарта, но продолжают собирать этот код под настоящее время.

LamerOk ★★★★★
()
Ответ на: комментарий от akho

Python не имеет спецификации, и определяется реализацией (насколько я понимаю).

а вот насколько я понимаю, питон определен документацией, а вовсе не сипитоном

asdpm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.