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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Инженер-программист, помни!

Если ты всей душой в майских праздниках, то эксперименты с «пивным» пиком Балмера никто не отменял.

«Каким-то образом Балмер посчитал, что 1,29–1,38‰ алкоголя в крови открывают у него сверхчеловеческие способности к программированию: он выпивал пару литров пива, входил в состояние лёгкого опьянения и мог продуктивно кодить».

Ну если сверхкода в таком состоянии все же не написать, то за «жабистые» таски точно легче браться.

#кек

@zen_of_python
👍146
​​tkforge: из Figma в Tkinter

Интересная коллекция компонентов, позволяющая сверстать на канвасе небезызвестной Figma интерфейс, а потом командной строкой перегнать это сразу в Python-код для Tkinter.

#библиотека

@zen_of_python
👌8🔥2
​​Сложность структур данных и алгоритмов

Если вы подступились к объёмным данным в проекте, самое время задуматься: а те ли методы и функции вы используете? Какова будет скорость интерпретации и не «повесится» ли программа вообще?

На pythonmorsels.com опубликовали англоязычную статью на 9 минут про виды сложностей (они на графике ниже), и про сравнение встроенных методов списков, очередей (queue), словарей, сетов, класса-счётчика (Counter), кучи и других структур. Самое оно, чтобы аккуратно вьехать в стадию оптимизации своего кода.

Если вам нужно сначала разобраться с понятием Time Complexity, вот доступная статья от основателя Типичного программиста.

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

@zen_of_python
👍1
​​Как в одно слово назвать Django-разработчика?

🏆— Джангист
🦄 — Джангер
👀 — Джангэстро
🌚 — Свое (поделитесь в комментариях)
🏆31👀9🦄9👍2🌚2
​​Вопрос от подписчика

Задает @Scotch_flip:

"Здравствуйте, у меня такой вопрос:
с помощью tkinter создал окно с кнопками от 1 и до 25, хочу сделать при нажатии кнопки с command меня[ть] цвет рандомно выбранных чисел или же по очереди меня[ть] цвет каждой кнопки , пробовал много разных способов, но увы".

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

@zen_of_python
​​Вопросы от новичков

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