🐍 Простые фишки парсинга в Python
1️⃣ Парсинг больших JSON-файлов без загрузки в память
import ijson
with open("big.json", "r") as f:
for item in ijson.items(f, "records.item"):
print(item) # потоковый парсинг, не держим всё в памяти
2️⃣ HTML-парсинг с поддержкой XPath через lxml
from lxml import html
doc = html.fromstring("Hello")
print(doc.xpath("//span/text()")[0]) # Hello
3️⃣ Парсинг логов с регулярками и именованными группами
import re
line = '2025-08-23 12:10:45 [INFO] User=egor Action=login'
pattern = r'(?P\d{4}-\d{2}-\d{2}) .* User=(?P\w+) Action=(?P\w+)'
m = re.search(pattern, line)
print(m.groupdict())
# {'date': '2025-08-23', 'user': 'egor', 'action': 'login'}
4️⃣ Парсинг YAML c поддержкой типов
import yaml
data = yaml.safe_load("""
user: egor
active: true
age: 30
""")
print(data) # {'user': 'egor', 'active': True, 'age': 30}
5️⃣ Парсинг бинарных данных (struct)
import struct
raw = b"\x01\x00\x00\x00\x2A\x00"
id, value = struct.unpack("
@Python_Community_ru
1️⃣ Парсинг больших JSON-файлов без загрузки в память
import ijson
with open("big.json", "r") as f:
for item in ijson.items(f, "records.item"):
print(item) # потоковый парсинг, не держим всё в памяти
2️⃣ HTML-парсинг с поддержкой XPath через lxml
from lxml import html
doc = html.fromstring("Hello")
print(doc.xpath("//span/text()")[0]) # Hello
3️⃣ Парсинг логов с регулярками и именованными группами
import re
line = '2025-08-23 12:10:45 [INFO] User=egor Action=login'
pattern = r'(?P\d{4}-\d{2}-\d{2}) .* User=(?P\w+) Action=(?P\w+)'
m = re.search(pattern, line)
print(m.groupdict())
# {'date': '2025-08-23', 'user': 'egor', 'action': 'login'}
4️⃣ Парсинг YAML c поддержкой типов
import yaml
data = yaml.safe_load("""
user: egor
active: true
age: 30
""")
print(data) # {'user': 'egor', 'active': True, 'age': 30}
5️⃣ Парсинг бинарных данных (struct)
import struct
raw = b"\x01\x00\x00\x00\x2A\x00"
id, value = struct.unpack("
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python: склейка TCP-пакетов
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
python
import socket
def send_coalesced(sock, parts):
for chunk in parts[:-1]:
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1]) финальный flush
#Вот короткий пример как делать «плохо» и «хорошо»:
import socket
sock = socket.create_connection(("localhost", 9090))
# Плохо: много маленьких пакетов
sock.sendall(b"Hello, ")
sock.sendall(b"world")
sock.sendall(b"!\n")
# Хорошо: склеили всё и отправили одним пакетом
msg = b"".join([b"Hello, ", b"world", b"!\n"])
sock.sendall(msg)
@Python_Community_ru
Когда отправляешь ты в сокет много маленьких кусочков - уходит куча мелких TCP-пакетов это работает медленнее и с задержками.
Решение: склеивай данные и отправляй одним блоком.
На Linux можно сказать ядру «подожди, я ещё допишу» команда MSG MORE.
Итог: меньше пакетов, быстрее отклик.
python
import socket
def send_coalesced(sock, parts):
for chunk in parts[:-1]:
sock.sendall(chunk, socket.MSG_MORE)
sock.sendall(parts[-1]) финальный flush
#Вот короткий пример как делать «плохо» и «хорошо»:
import socket
sock = socket.create_connection(("localhost", 9090))
# Плохо: много маленьких пакетов
sock.sendall(b"Hello, ")
sock.sendall(b"world")
sock.sendall(b"!\n")
# Хорошо: склеили всё и отправили одним пакетом
msg = b"".join([b"Hello, ", b"world", b"!\n"])
sock.sendall(msg)
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Малоизвестный совет по Python: используй pyparsing вместо громоздких и тяжёлых regex.
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
@Python_Community_ru
Обычно все пишут через модуль re и собирают гигантские регулярки, которые сложно читать и отлаживать. Но есть библиотека pyparsing, где можно строить парсер как из конструктора — из простых правил.
Главная фишка: если в одном месте разбор сломался, pyparsing пробует другие варианты, а не падает. Это делает его удобным инструментом для разбора конфигов, мини-языков и любых сложных форматов текста, где regex становится болью.
from pyparsing import Word, alphas, nums, Group, OneOrMore
# Определим правило: слово + число
identifier = Word(alphas) + Word(nums)
# Парсер будет читать такие пары подряд
parser = OneOrMore(Group(identifier))
result = parser.parseString("user123 order456 item789")
print(result.asList())
# output:
@Python_Community_ru
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Python трюк: сортировка namedtuple
Вместо словарей можно использовать namedtuple для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
@Python_Community_ru
Вместо словарей можно использовать namedtuple для хранения структурированных данных, а потом легко сортировать по любому полю.
from collections import namedtuple
Name = namedtuple("Name", ["first", "last"])
names = [
Name("Mike", "Driscoll"),
Name("Zahna", "Brown"),
Name("James", "Williams")
]
# Сортировка по имени
print(sorted(names, key=lambda n: n.first))
# Сортировка по фамилии
print(sorted(names, key=lambda n: n.last))
@Python_Community_ru
🚀 Django 6.0 — уже в пути!
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@Python_Community_ru
✨ Главное в Django 6.0
- Content Security Policy (CSP)
Новый ContentSecurityPolicyMiddleware, теги csp() и настройки SECURE_CSP / SECURE_CSP_REPORT_ONLY.
- Фоновые задачи
Декоратор @task и метод enqueue() для простого запуска background jobs.
- Template Partials
Теги {% partialdef %} и {% partial %} для переиспользуемых фрагментов в шаблонах.
- Обновлённое Email API
Современный EmailMessage вместо устаревших MIME-классов.
- Другие улучшения
• В админке — иконки Font Awesome
• В auth увеличены итерации PBKDF2
• Улучшения в Postgres, GeoDjango, миграциях и др.
🔄 Изменения без обратной совместимости
- Минимальная версия MariaDB — 10.6
- Поддержка Python ≥ 3.12
- DEFAULT_AUTO_FIELD теперь всегда BigAutoField
- Удалены устаревшие API и внутренние методы
👉 Подробнее: https://docs.djangoproject.com/en/dev/releases/6.0/
#django #python
@Python_Community_ru
🔥3
🖥 Leviathan (https://github.com/kython28/leviathan) — это сверхбыстрая библиотека для Python, реализующая цикл событий (event loop) для asyncio на базе языка Zig!
🌟 Она обеспечивает высокую производительность, полную совместимость с asyncio и простоту интеграции в проекты. Leviathan нацелен на минимизацию задержек и оптимизацию производительности по сравнению со стандартными циклами событий Python.
🔐 Лицензия: MIT
🖥 Github (https://github.com/kython28/leviathan)
@Python_Community_ru
🌟 Она обеспечивает высокую производительность, полную совместимость с asyncio и простоту интеграции в проекты. Leviathan нацелен на минимизацию задержек и оптимизацию производительности по сравнению со стандартными циклами событий Python.
🔐 Лицензия: MIT
🖥 Github (https://github.com/kython28/leviathan)
@Python_Community_ru
🎨 Улучшение изображений с помощью SRPO
SRPO — это метод, который оптимизирует процесс восстановления изображений с высокой степенью шума, используя новую стратегию выборки и прямую обратную связь. Он обеспечивает более быструю и стабильную тренировку моделей, минимизируя вычислительные затраты и избегая проблем с переобучением.
🚀Основные моменты:
- Эффективное восстановление изображений с высокой степенью шума.
- Ускоренная тренировка за счет оптимизации с аналитическими градиентами.
- Отсутствие проблем с "взломом" вознаграждений.
- Динамическое управление текстовыми условиями для настройки предпочтений.
📌 GitHub: https://github.com/Tencent-Hunyuan/SRPO
@Python_Community_ru
SRPO — это метод, который оптимизирует процесс восстановления изображений с высокой степенью шума, используя новую стратегию выборки и прямую обратную связь. Он обеспечивает более быструю и стабильную тренировку моделей, минимизируя вычислительные затраты и избегая проблем с переобучением.
🚀Основные моменты:
- Эффективное восстановление изображений с высокой степенью шума.
- Ускоренная тренировка за счет оптимизации с аналитическими градиентами.
- Отсутствие проблем с "взломом" вознаграждений.
- Динамическое управление текстовыми условиями для настройки предпочтений.
📌 GitHub: https://github.com/Tencent-Hunyuan/SRPO
@Python_Community_ru
👍1
📚✨ Lue - Умный терминальный ридер с TTS
Lue — это терминальный ридер электронных книг, поддерживающий множество форматов, включая EPUB и PDF. Он предлагает текст в речь с возможностью настройки скорости воспроизведения и синхронизации с выделением слов, что улучшает восприятие текста.
🚀Основные моменты:
- Поддержка форматов: EPUB, PDF, TXT и др.
- Модульная система TTS с Edge и Kokoro.
- Кроссплатформенность: macOS, Linux, Windows.
- Настройка скорости воспроизведения от 1x до 3x.
- Удобный интерфейс с поддержкой мыши и клавиатуры.
📌 GitHub: https://github.com/superstarryeyes/lue
@Python_Community_ru
Lue — это терминальный ридер электронных книг, поддерживающий множество форматов, включая EPUB и PDF. Он предлагает текст в речь с возможностью настройки скорости воспроизведения и синхронизации с выделением слов, что улучшает восприятие текста.
🚀Основные моменты:
- Поддержка форматов: EPUB, PDF, TXT и др.
- Модульная система TTS с Edge и Kokoro.
- Кроссплатформенность: macOS, Linux, Windows.
- Настройка скорости воспроизведения от 1x до 3x.
- Удобный интерфейс с поддержкой мыши и клавиатуры.
📌 GitHub: https://github.com/superstarryeyes/lue
@Python_Community_ru
🎁 Авто-бот для покупки подарков в Telegram
Этот бот автоматически ищет и покупает подарки по заданным критериям, интегрируясь с Telegram. Он предлагает настраиваемые параметры и способен быстро обрабатывать заказы.
🚀 Основные моменты:
- Полностью автоматический поиск новых подарков
- Высокая скорость покупки (более 5 подарков в секунду)
- Интеграция с Telegram-ботом
- Настраиваемые параметры для фильтрации подарков
- Постоянный мониторинг доступных подарков
📌 GitHub: https://github.com/ThunderTo/Gift-Buyer-Tg
#python
@Python_Community_ru
Этот бот автоматически ищет и покупает подарки по заданным критериям, интегрируясь с Telegram. Он предлагает настраиваемые параметры и способен быстро обрабатывать заказы.
🚀 Основные моменты:
- Полностью автоматический поиск новых подарков
- Высокая скорость покупки (более 5 подарков в секунду)
- Интеграция с Telegram-ботом
- Настраиваемые параметры для фильтрации подарков
- Постоянный мониторинг доступных подарков
📌 GitHub: https://github.com/ThunderTo/Gift-Buyer-Tg
#python
@Python_Community_ru
👍1
🚀 Обучение LLM-агентов для многоповоротного принятия решений
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@Python_Community_ru
AgentGym-RL — это фреймворк для тренировки LLM-агентов, способных принимать решения в сложных многоповоротных сценариях с использованием методов усиленного обучения. Он предлагает разнообразные реальные сценарии и поддерживает популярные алгоритмы RL, улучшая производительность моделей до уровня коммерческих решений.
🚀 Основные моменты:
- Модульная система для гибкости и расширяемости.
- Поддержка различных реальных сред, включая веб-навигацию и глубокий поиск.
- Метод ScalingInter-RL для стабильного обучения агентов.
- Интерактивный интерфейс для визуализации взаимодействий.
📌 GitHub: https://github.com/WooooDyy/AgentGym-RL
#python
@Python_Community_ru
🧠 Инструменты для искусственного интеллекта
Собрание полезных AI-инструментов и ресурсов для разработчиков, исследователей и энтузиастов. Участвуйте в развитии сообщества, добавляя новые сервисы и улучшая коллекцию.
🚀 Основные моменты:
- Широкий выбор AI-инструментов по различным категориям.
- Открытое сообщество для совместной работы и улучшения.
- Возможность вносить свой вклад через Pull Requests.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/Hyraze/collective-ai-tools
Собрание полезных AI-инструментов и ресурсов для разработчиков, исследователей и энтузиастов. Участвуйте в развитии сообщества, добавляя новые сервисы и улучшая коллекцию.
🚀 Основные моменты:
- Широкий выбор AI-инструментов по различным категориям.
- Открытое сообщество для совместной работы и улучшения.
- Возможность вносить свой вклад через Pull Requests.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/Hyraze/collective-ai-tools
GitHub
GitHub - Hyraze/collective-ai-tools: AI tools platform with 800+ curated tools, built-in workspace tools, and job board for developers…
AI tools platform with 800+ curated tools, built-in workspace tools, and job board for developers and researchers. - Hyraze/collective-ai-tools
🛠️ Улучшаем отладку с пользовательскими типами
Этот репозиторий помогает отображать пользовательские типы и контейнеры в отладчике LLDB, делая их более понятными. С помощью кастомных функций и синтетических провайдеров вы сможете легко видеть значения ваших объектов и контейнеров.
🚀Основные моменты:
- Поддержка пользовательских типов и контейнеров в LLDB.
- Использование Python для настройки отображения.
- Примеры для классов и контейнеров, таких как example::date и example::span.
- Удобное взаимодействие с отладчиком через .lldbinit.
📌 GitHub: https://github.com/codeinred/lldb_user_types
#python
@Python_Community_ru
Этот репозиторий помогает отображать пользовательские типы и контейнеры в отладчике LLDB, делая их более понятными. С помощью кастомных функций и синтетических провайдеров вы сможете легко видеть значения ваших объектов и контейнеров.
🚀Основные моменты:
- Поддержка пользовательских типов и контейнеров в LLDB.
- Использование Python для настройки отображения.
- Примеры для классов и контейнеров, таких как example::date и example::span.
- Удобное взаимодействие с отладчиком через .lldbinit.
📌 GitHub: https://github.com/codeinred/lldb_user_types
#python
@Python_Community_ru
1️⃣0️⃣0️⃣0️⃣ БЕСПЛАТНЫХ приложений, которые можно развернуть прямо у себя на сервере. На GitHub нашли настоящую сокровищницу!
50+ категорий: от аналитики и бронирований до автоматизации рутины и чтения книг.
Внутри — сотни инструментов под любые задачи: файлообменники, парсеры, сервисы для мониторинга и даже решения для ресторанов и отелей.
Всё работает локально — данные остаются только у вас, ничего не уходит разработчикам или в сеть.
https://github.com/awesome-selfhosted/awesome-selfhosted
@Python_Community_ru
50+ категорий: от аналитики и бронирований до автоматизации рутины и чтения книг.
Внутри — сотни инструментов под любые задачи: файлообменники, парсеры, сервисы для мониторинга и даже решения для ресторанов и отелей.
Всё работает локально — данные остаются только у вас, ничего не уходит разработчикам или в сеть.
https://github.com/awesome-selfhosted/awesome-selfhosted
@Python_Community_ru
🔥1
🖥 Что нового в Python 3.14 и почему стоит перейти
Python 3.14 вышел 7 октября 2025 года. Это новый стабильный релиз, который содержит как изменения в самом языке, так и улучшения в реализации, стандартной библиотеке, отладке и взаимодействии с многопоточностью.
Ниже - обзор ключевых нововведений, их смысла, применимости и возможных подводных камней.
🟠Основные нововведения (Release highlights)
- Отложенная (ленивая) оценка аннотаций - теперь аннотации не вычисляются сразу, что уменьшает накладные расходы.
- Поддержка нескольких интерпретаторов в рамках одного процесса через новый модуль.
- Новый синтаксис шаблонных строк (t-strings), который даёт больше контроля над статической и интерполированной частью.
- Более информативные сообщения об ошибках (например, подсказки для опечаток в ключевых словах).
- Поддержка формата сжатия Zstandard в стандартной библиотеке.
- Улучшенные возможности для отладки и профилирования, в том числе подключение к живому процессу без остановки.
- Улучшения в asyncio — команды для визуализации и диагностики задач, стеков ожидания и зависимостей.
- Уменьшение пауз сборщика мусора (gc) через инкрементальный сбор.
- Подсветка синтаксиса и автодополнение модулей в интерактивном режиме (REPL) по умолчанию.
🟠 Подробности и примеры
Ленивые аннотации - deferred evaluation of annotations
Раньше аннотации (для типов, документации, подсказок) могли вызывать вычисления прямо при определении функции или класса. Теперь они хранятся в виде «ленивых» структур и вычисляются по надобности. Это снижает накладные расходы на загрузку кода, особенно если аннотации сложные или содержат много forward-ссылок.
Есть модуль annotationlib, который позволяет исследовать аннотации программно и выбирать формат их получения — строки, объекты или отложенные ссылки.
Когда это особенно помогает:
- большие фреймворки, генерация кода, ORM, библиотеки с множеством аннотаций;
- ускорение импорта при старте приложений;
- уменьшение накладных расходов при работе с типами.
Что проверить при миграции:
- код, использующий __annotations__ напрямую, может требовать адаптации;
- убедитесь, что сторонние библиотеки, работающие с аннотациями, поддерживают новый формат.
Несколько интерпретаторов (subinterpreters)
Теперь в Python можно запускать несколько независимых интерпретаторов внутри одного процесса (модуль `concurrent.interpreters`).
Преимущества:
- изоляция между интерпретаторами (отдельная память, отдельный GIL);
- параллелизм на многоядерных системах;
- меньше накладных расходов, чем при использовании multiprocessing.
Ограничения:
- не все C-расширения поддерживают мультиинтерпретацию;
- коммуникация между интерпретаторами требует явных каналов (очереди, сообщения).
Это даёт реальную возможность распараллеливания CPU-задач без запуска отдельных процессов.
Template string literals (t-strings)
Новое синтаксическое средство — префикс t перед строкой, аналогично f'...'.
Результат — объект Template, который хранит текст и вставки по отдельности.
variety = 'Stilton'
template = t'Try some {variety} cheese!'
- Подробности (https://uproger.com/chto-novogo-v-python-3-14-i-pochemu-stoit-ispolzovat/)
- Скачать (https://www.python.org/downloads/release/python-3140/)
- Видеообзор (https://youtu.be/ZOIdlLh8JFA)
@Python_Community_ru
Python 3.14 вышел 7 октября 2025 года. Это новый стабильный релиз, который содержит как изменения в самом языке, так и улучшения в реализации, стандартной библиотеке, отладке и взаимодействии с многопоточностью.
Ниже - обзор ключевых нововведений, их смысла, применимости и возможных подводных камней.
🟠Основные нововведения (Release highlights)
- Отложенная (ленивая) оценка аннотаций - теперь аннотации не вычисляются сразу, что уменьшает накладные расходы.
- Поддержка нескольких интерпретаторов в рамках одного процесса через новый модуль.
- Новый синтаксис шаблонных строк (t-strings), который даёт больше контроля над статической и интерполированной частью.
- Более информативные сообщения об ошибках (например, подсказки для опечаток в ключевых словах).
- Поддержка формата сжатия Zstandard в стандартной библиотеке.
- Улучшенные возможности для отладки и профилирования, в том числе подключение к живому процессу без остановки.
- Улучшения в asyncio — команды для визуализации и диагностики задач, стеков ожидания и зависимостей.
- Уменьшение пауз сборщика мусора (gc) через инкрементальный сбор.
- Подсветка синтаксиса и автодополнение модулей в интерактивном режиме (REPL) по умолчанию.
🟠 Подробности и примеры
Ленивые аннотации - deferred evaluation of annotations
Раньше аннотации (для типов, документации, подсказок) могли вызывать вычисления прямо при определении функции или класса. Теперь они хранятся в виде «ленивых» структур и вычисляются по надобности. Это снижает накладные расходы на загрузку кода, особенно если аннотации сложные или содержат много forward-ссылок.
Есть модуль annotationlib, который позволяет исследовать аннотации программно и выбирать формат их получения — строки, объекты или отложенные ссылки.
Когда это особенно помогает:
- большие фреймворки, генерация кода, ORM, библиотеки с множеством аннотаций;
- ускорение импорта при старте приложений;
- уменьшение накладных расходов при работе с типами.
Что проверить при миграции:
- код, использующий __annotations__ напрямую, может требовать адаптации;
- убедитесь, что сторонние библиотеки, работающие с аннотациями, поддерживают новый формат.
Несколько интерпретаторов (subinterpreters)
Теперь в Python можно запускать несколько независимых интерпретаторов внутри одного процесса (модуль `concurrent.interpreters`).
Преимущества:
- изоляция между интерпретаторами (отдельная память, отдельный GIL);
- параллелизм на многоядерных системах;
- меньше накладных расходов, чем при использовании multiprocessing.
Ограничения:
- не все C-расширения поддерживают мультиинтерпретацию;
- коммуникация между интерпретаторами требует явных каналов (очереди, сообщения).
Это даёт реальную возможность распараллеливания CPU-задач без запуска отдельных процессов.
Template string literals (t-strings)
Новое синтаксическое средство — префикс t перед строкой, аналогично f'...'.
Результат — объект Template, который хранит текст и вставки по отдельности.
variety = 'Stilton'
template = t'Try some {variety} cheese!'
- Подробности (https://uproger.com/chto-novogo-v-python-3-14-i-pochemu-stoit-ispolzovat/)
- Скачать (https://www.python.org/downloads/release/python-3140/)
- Видеообзор (https://youtu.be/ZOIdlLh8JFA)
@Python_Community_ru
UPROGER | Программирование
Что нового в Python 3.14 и почему стоит использовать
Вот подробная и интересная статья про что нового в Python 3.14 — почему стоит обновляться, на что обратить внимание, и какие выгоды вы получите.
Что нового в Python 3.14 и почему стоит перейти
Python 3.14 вышел 7 октября 2025 года. Это новый стабильный…
Что нового в Python 3.14 и почему стоит перейти
Python 3.14 вышел 7 октября 2025 года. Это новый стабильный…
🔥1
Пару недель назад мы обсуждали с коллегами, что digital-рынок стал похож на перегретый стартап:
новые инструменты, новые фреймворки, новые ИИ-решения — а времени разбираться во всём этом меньше, чем когда-либо.
При этом базовые задачи у всех одинаковые: держать процессы под контролем, следить за качеством, закрывать акты день в день и не терять фокус.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
🔴 Там 30 файлов, которые помогают выстроить управление, аналитику и внутренние процессы:
– Система мотивации сотрудников в диджитал на 2026 год,
– 4 шаблона основых документов любого ИТ проекта,
– Топ-6 промптов для создания контента,
– Шаблоны отчётов, которые помогают удерживать клиента,
– Чек-лист по GEO оптимизации сайта и контента.
Сохранив единожды папку «Документы для тех, кто в digital», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
📂 Ссылка на папку: https://t.me/addlist/yXbxnD0CjS84MzBi
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.me/addlist/yXbxnD0CjS84MzBi
2. Подтверди участие в боте
🗓 Итоги — 25 октября.
новые инструменты, новые фреймворки, новые ИИ-решения — а времени разбираться во всём этом меньше, чем когда-либо.
При этом базовые задачи у всех одинаковые: держать процессы под контролем, следить за качеством, закрывать акты день в день и не терять фокус.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
– Система мотивации сотрудников в диджитал на 2026 год,
– 4 шаблона основых документов любого ИТ проекта,
– Топ-6 промптов для создания контента,
– Шаблоны отчётов, которые помогают удерживать клиента,
– Чек-лист по GEO оптимизации сайта и контента.
Сохранив единожды папку «Документы для тех, кто в digital», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
📂 Ссылка на папку: https://t.me/addlist/yXbxnD0CjS84MzBi
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.me/addlist/yXbxnD0CjS84MzBi
2. Подтверди участие в боте
🗓 Итоги — 25 октября.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🎧 MiMo Audio: Инновации в аудио языковых моделях
MiMo Audio предлагает передовые аудио языковые модели, способные к обучению с минимальным количеством примеров. С использованием более 100 миллионов часов данных, модель демонстрирует выдающиеся результаты в задачах распознавания речи и аудиоанализа, а также в генерации речи. MiMo-Audio-7B-Base устанавливает новые стандарты в открытых моделях.
🚀Основные моменты:
- Поддержка нескольких аудио задач с минимальным обучением.
- Высокая производительность в распознавании речи и аудио понимании.
- Генерация реалистичной речи для различных форматов.
- Открытый доступ к моделям через Hugging Face.
📌 GitHub: https://github.com/XiaomiMiMo/MiMo-Audio
@Python_Community_ru
MiMo Audio предлагает передовые аудио языковые модели, способные к обучению с минимальным количеством примеров. С использованием более 100 миллионов часов данных, модель демонстрирует выдающиеся результаты в задачах распознавания речи и аудиоанализа, а также в генерации речи. MiMo-Audio-7B-Base устанавливает новые стандарты в открытых моделях.
🚀Основные моменты:
- Поддержка нескольких аудио задач с минимальным обучением.
- Высокая производительность в распознавании речи и аудио понимании.
- Генерация реалистичной речи для различных форматов.
- Открытый доступ к моделям через Hugging Face.
📌 GitHub: https://github.com/XiaomiMiMo/MiMo-Audio
@Python_Community_ru
⚡ Наглядное сравнение скорости нового Python 3.14 с предыдущей версией
Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.
Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.
Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.
Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.
Раньше поэтому многопоточность в Python фактически не работала.
🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.
Минусы такого подхода: каждая копия имеет отдельную память, данные нужно сериализовать при передаче — большие накладные расходы.
🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.
📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.
💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.
Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading
@Python_Community_ru
Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.
Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.
Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.
Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.
Раньше поэтому многопоточность в Python фактически не работала.
🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.
Минусы такого подхода: каждая копия имеет отдельную память, данные нужно сериализовать при передаче — большие накладные расходы.
🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.
📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.
💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.
Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading
@Python_Community_ru
GitHub
python-experiments/free-threading at main · koenvo/python-experiments
My Python Experiments collection. Contribute to koenvo/python-experiments development by creating an account on GitHub.
🔥5