Zen of Python
20.2K subscribers
1.2K photos
161 videos
32 files
3.14K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
​​Вопросы от новичков

Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросыновичков

@zen_of_python
​​Вопрос от подписчика

Задает @deigumnov:

"Есть ли пример кода, который взаимодействует с апач кафкой - может послать сообщение, вычитать что есть сейчас, посмотреть сколько в очереди и т.п."

! Пожалуйста, будьте взаимовежливы. Всем нам нужно место, где окажут помощь.

@zen_of_python
🎉3
🔥5🍌1
Время лечит, однако
7🍌1
​​PkgInspect: улучшенный менеджмент зависимостей

Если вас тоже достало, что не все версии инструментов чекаются флагом --version, и в то же время вы готовы разом обновить все до последней версии, эта утилита для вас. Автор заявляет, что модули:

— PkgInspect отдаёт информацию о версиях зависимостей;
— PkgVersions сравнивает версии разных виртуальных сред и даёт массово обновляться;
— PkgMetrics отдаёт стату os про тот или иной инструмент.

Проект на GitHub

@zen_of_python
😁3🍌2
Задача о клумбе

У вас есть длинная клумба, на которой часть слотов занята, часть нет. Цветы нельзя сажать на соседних слотах. Вам подаётся список целочисленных значений, где 0 – пустой, а 1 — занятый слот.

Создайте функцию is_fitting(), которая возвращает true, если на клумбе можно посадить n новых цветов по правилу свободных соседних слотов.

Для теста:


flowerbed = [1,0,0,0,1]
>>> is_fitting(flowerbed, 1)
... True
>>> is_fitting(flowerbed, 2)
... False


@zen_of_python
👍3🎉1🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
portr — аналог ngrok для команды

Это решение позволяет создавать локальные соединения http / tcp / websocket. Дружит с Cloudflare по части SSL-сертификатов, даёт грамотно инспектировать. На видео консоль администратора, позволяющая шерить проект с коллегами.

Проект на GitHub

#инструмент

@zen_of_python
👍2🍌1
Поздравляем победителей

Задачу о подстроке верно решили:

@GeorKu;
@StSav012;
@IPyth0n (@X_Python);
@stalker1337;
@HackingSection;
@Shihiyev;
@sidor0912
@patriarch_chesslovo.

Кратчайшие верные решения предложили @HackingSection:


def is_substring(s, t, nxt = 0):
  return len(s) == [nxt := nxt + 1 for i in t if i == s[nxt]][-1]


и @SmirnGreg:


def is_substring(s: str, t: str):
  return bool(re.match('.*' + '.*'.join(s) + '.*', t)) 


Отдельное спасибо @SmirnGreg за замер скорости исполнения функций (!)

NB! Учитывайте повторяющиеся буквы в подстроке s. Для некоторых решений следующая пара строк отдаёт True, что явно неверно:


s = "agggc"
t = "cgxggxxgxxa"


Присоединяйтесь: раз в неделю задачу решить — это вполне оптимальная нагрузка для занятого кодера.

#задача

@zen_of_python
👍51❤‍🔥1🔥1😁1
​​socket | Пусть ОС сама выбирает порт

Если вы пишете веб-приложения, то наверняка хотя бы раз сталкивались с «портовой путаницей» (стандартный 8000 занят, значит, выбираем 4040, а потом будь что будет). В немаленьком англоязычном лонгриде Кристоф Шисль разбирается, как упростить себе эту задачу с помощью библиотеки socket и псевдорандомизации.

#библиотека

@zen_of_python
👍5🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
bytewax для процессинга Kafka и подобных

Фреймворк объединяет обработку потоков и событий Flink, Spark и Kafka Streams и других аналогичных решений.

Можно подключать источники данных, выполнять преобразования и записывать с помощью встроенных коннекторов или существующих Py-библиотек.

Проект на GitHub

#фреймворк

@zen_of_python
6🍌1
​​Водяной знак на Matplotlib-графике

Лаконичная англоязычная статья о методе, позволяющем защитить свои графики от воровства.

#факты

@zen_of_python
😁8👍3🍌1
​​Вопрос от подписчика

Задаёт @EpicBacker:

«Подскажите пожалуйста, а как использовать API чатаGPT через питон, и как получить ключ API.»

От админа: в своё время пробовали ChatGPT API по мотивам вот этой статьи (вам потребуется VPN).

#обсуждение

@zen_of_python
👍2😁2🍌1
​​Самописный транскрибатор конференций

В 2024 модно стало не слушать все на созвонах, а экстрактить самое важное ИИ-инструментами вроде tl;dv. На официальном YouTube-канале компании AssemblyAI (специализируются на text-to-speech, speech-to-text) опубликовали 12-минутный туториал. Пройдя те же шаги, всего за 28 строк кода ̶в̶ы̶с̶т̶а̶в̶и̶т̶ь̶ ̶в̶и̶д̶е̶о̶з̶а̶с̶т̶а̶в̶к̶у̶ ̶с̶ ̶с̶о̶б̶о̶й̶ ̶и̶ ̶н̶е̶ ̶х̶о̶д̶и̶т̶ь̶ ̶н̶а̶ ̶м̶и̶т̶а̶п̶ы̶ ̶б̶о̶л̶ь̶ш̶е̶ ̶н̶и̶к̶о̶г̶д̶а̶ транскрибировать Zoom-конфу, или любую другую.

🌭 — надоели созвоны, только «фокусное» время отнимают
🏆 — я гуру созвонов, никогда не надоест
🌚 — другое (напишите в комментариях)

#библиотека

@zen_of_python
👍31🌭1
Что нового в Python 3.13

Весьма богатый на обновления релиз:

— Улучшения интерпретатора и текстов ошибок;
— поддержка цвета в интерактивном интерпретаторе и выводе doctest;
— добавлен JIT-компилятор;
— TypeVar, ParamSpec теперь поддерживают значения по умолчанию и многое другое.

Полный What's New
Скачать Python 3.13.0a1

#факты

@zen_of_python
🔥10👍2🍌2
​​Вопросы от новичков

Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросыновичков

@zen_of_python
🎉4👏1
This media is not supported in your browser
VIEW IN TELEGRAM
python-graph-gallery.com | Коллекция почти всех типов графиков с кодом для Matplotlib, Plotly etc.

Возможно, вы попадали на этот сайт, когда только осваивали EDA датасетов. На python-graph-gallery.com собрана шикарная коллекция популярных видов dataviz с полноценными сниппетами для рендеринга таковых.

#лучшиепрактики

@zen_of_python
👍10❤‍🔥1
9🤣3🌚1
Ишь, хитрец, до самой сути π решил добраться силами Python

#кек

@zen_of_python
😁29👍101🍌1
​​Апгрейд REPL в Py 3.13

С выходом новой минорной версии ЯП совпал существенный апгрейд интерактивного интерпретатора. Ментор Трей Ханнер разобрался, в чем польза и удобство, в частности:

— цвета в shell;
— «блочная» память (при нажатии стрелки вверх «вспоминается» блок кода, а не последняя строка);
— вставка кода сохраняет (ура!) отступы и некоторые другие улучшения.

#факты

@zen_of_python
🔥9👍3🍌1
Задача о комбинировании подстрок

Впрочем, почему бы и нет! Задача от подписчика @StSav012:

Есть две последовательности элементами без повторов в каждой. Часть элементов одной последовательности есть в другой, часть из второй — в первой. Напишите функцию merge, чтобы сгенерировать общую последовательность, в которой будут обе подпоследовательности в неизменном порядке.


>>> merge('acfg', 'bcht')
... 'abcfght'


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

#задача

@zen_of_python
🍌2