0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
1
<p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
2
<p>Версия Python 3.12 будет поддерживаться следующие полтора года, а потом ещё три с половиной года разработчики будут публиковать для неё обновления безопасности. Кроме того, уже запустили тестовую ветку Python 3.13.</p>
2
<p>Версия Python 3.12 будет поддерживаться следующие полтора года, а потом ещё три с половиной года разработчики будут публиковать для неё обновления безопасности. Кроме того, уже запустили тестовую ветку Python 3.13.</p>
3
<p>В версии 3.12 значительно<a>улучшили</a>работу f‑строк и сделали их более гибкими. Теперь внутри них можно использовать любые конструкции, поддерживаемые в Python. К примеру, обратные слеши, комментарии и многострочные выражения больше не приводят к возникновению ошибок. Ещё внутри строки можно использовать те же кавычки, что и для обрамления самой строки.</p>
3
<p>В версии 3.12 значительно<a>улучшили</a>работу f‑строк и сделали их более гибкими. Теперь внутри них можно использовать любые конструкции, поддерживаемые в Python. К примеру, обратные слеши, комментарии и многострочные выражения больше не приводят к возникновению ошибок. Ещё внутри строки можно использовать те же кавычки, что и для обрамления самой строки.</p>
4
print(f"This is the playlist: {"\n".join(songs)}") print(f"This is the playlist: {"\N{BLACK HEART SUIT}".join(songs)}") print(f"This is the playlist: {", ".join([ ... 'Take me back to Eden', # My, my, those eyes like fire ... 'Alkaline', # Not acid nor alkaline ... 'Ascensionism' # Take to the broken skies at last ... ])}")<p>Информация об ошибках стала более информативной, и теперь в ней уделяется внимание и опечаткам. Python не просто указывает на проблемное место в коде, а предлагает варианты для исправления. Кроме того, если забыть подключить модуль или библиотеку, то система подскажет, как это можно сделать.</p>
4
print(f"This is the playlist: {"\n".join(songs)}") print(f"This is the playlist: {"\N{BLACK HEART SUIT}".join(songs)}") print(f"This is the playlist: {", ".join([ ... 'Take me back to Eden', # My, my, those eyes like fire ... 'Alkaline', # Not acid nor alkaline ... 'Ascensionism' # Take to the broken skies at last ... ])}")<p>Информация об ошибках стала более информативной, и теперь в ней уделяется внимание и опечаткам. Python не просто указывает на проблемное место в коде, а предлагает варианты для исправления. Кроме того, если забыть подключить модуль или библиотеку, то система подскажет, как это можно сделать.</p>
5
sys.version_info NameError: name 'sys' is not defined. Did you forget to import 'sys'? somethin = blech NameError: name 'blech' is not defined. Did you mean: 'self.blech'? import a.y.z from b.y.z SyntaxError: Did you mean to use 'from ... import ...' instead?<p>Типы обобщённых классов и функций можно аннотировать более компактным способом. Это должно сэкономить время разработчикам и повысить общую читаемость кода.</p>
5
sys.version_info NameError: name 'sys' is not defined. Did you forget to import 'sys'? somethin = blech NameError: name 'blech' is not defined. Did you mean: 'self.blech'? import a.y.z from b.y.z SyntaxError: Did you mean to use 'from ... import ...' instead?<p>Типы обобщённых классов и функций можно аннотировать более компактным способом. Это должно сэкономить время разработчикам и повысить общую читаемость кода.</p>
6
def max[T](args: Iterable[T]) -> T: ... class list[T]: def __getitem__(self, index: int, /) -> T: ... def append(self, element: T) -> None:<p>В выпуске Python 3.12 удалось добиться прироста производительности в размере 5%. Показатели маленькие, но команда проекта продолжает работать над этим. В этом обновлении ускорить Python получилось благодаря добавлению поддержки бинарного оптимизатора BOLT. Вместе с этим ускорили работу с регулярными выражениями и другими встроенными функциями.</p>
6
def max[T](args: Iterable[T]) -> T: ... class list[T]: def __getitem__(self, index: int, /) -> T: ... def append(self, element: T) -> None:<p>В выпуске Python 3.12 удалось добиться прироста производительности в размере 5%. Показатели маленькие, но команда проекта продолжает работать над этим. В этом обновлении ускорить Python получилось благодаря добавлению поддержки бинарного оптимизатора BOLT. Вместе с этим ускорили работу с регулярными выражениями и другими встроенными функциями.</p>
7
<p>Другие нововведения:</p>
7
<p>Другие нововведения:</p>
8
<ul><li>в рамках улучшения безопасности разработчики перешли на формально верифицированные реализации алгоритмов SHA1, SHA3, SHA2-384, SHA2-512 и MD5 в hashlib;</li>
8
<ul><li>в рамках улучшения безопасности разработчики перешли на формально верифицированные реализации алгоритмов SHA1, SHA3, SHA2-384, SHA2-512 и MD5 в hashlib;</li>
9
<li>расширена поддержка Windows в модуле os;</li>
9
<li>расширена поддержка Windows в модуле os;</li>
10
<li>в CPython появилась поддержка защиты от переполнения стека;</li>
10
<li>в CPython появилась поддержка защиты от переполнения стека;</li>
11
<li>удалены устаревшие и неактуальные модули и встроенные библиотеки.</li>
11
<li>удалены устаревшие и неактуальные модули и встроенные библиотеки.</li>
12
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
12
</ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>