zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20070

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

А инсайтами никто не вдохновляется, потому что коллеги повыгорали.

@zen_of_python

Читать полностью…

Zen of Python

​​Python + PostgreSQL как простой таскер на заднем плане

Разработчик Том Дикан показывает (статья на английском), как использовать эту пару на некрупных проектах в качестве аналога Redis / Celery.

#факты

@zen_of_python

Читать полностью…

Zen of Python

Проведите лето с Яндекс Практикумом и вернитесь на работу с новыми скилами

До конца июня вы можете получить дополнительный курс по цене одного.

— Выберите любой курс для специалистов с опытом и оплатите его до 30.06.
— Получите курс «Навыки рабочей коммуникации» в подарок.
— Изучите новые навыки, которые помогут вам вырасти в карьере. 

Выбрать курс: https://clck.ru/3AcfYk

Это #партнёрский пост

Читать полностью…

Zen of Python

​​tartufo | Предотвращаем коммит ключей

Инструмент сканирует репозиторий на предмет оставленных логинов, паролей, токенов и других авторизационных данных. В целом эта логика, по мнению админа, грамотнее, чем дожидаться от условного GitHub «письма счастья» о слитом креде.

Почему Тартюф (персонаж-обманщик)? Бог его знает.

Репозиторий проекта

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

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

Задаёт @Konstantin_O1:

«Как с различными версиями питона работать на windows через pyenv?»

От админа: допускаю, что вы знаете про pyenv-win.
Тогда после установки управление версиями сводится к несложным командам:

pyenv install 3.x.x
pyenv local 3.x.x # для виртуального окружения
pyenv global 3.x.x  # для всей ОС

Коллеги, поделитесь своим опытом решения этой задачи.

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

@zen_of_python

Читать полностью…

Zen of Python

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

Задаёт @py2134:

«Как создать интерфейс? И можно ли улучшить vosk (воск)?»

От админа: Tkinter — первое, что приходит на ум, но вы с ней, вероятно, и так знакомы.

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

@zen_of_python

Читать полностью…

Zen of Python

​​Итерируемые объекты в Py

Доступнейший англоязычный лонгрид с небезызвестного realpython.com про последовательности — списки, словари и проч., а также про методы слайсинга, конактенации, сравнения и другого обращения с ними.

#факты

@zen_of_python

Читать полностью…

Zen of Python

​​Апгрейд REPL в Py 3.13

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

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

#факты

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

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

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

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

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

@zen_of_python

Читать полностью…

Zen of Python

​​Самописный транскрибатор конференций

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

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

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

Вопрос от подписчика

Задаёт @EpicBacker:

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

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

#обсуждение

@zen_of_python

Читать полностью…

Zen of Python

Яндекс приглашает на Young Con — первый фестиваль о карьере в IT и современных технологиях

— 6000 участников.
— 10+ часов приключений и нетворкинга.
— 30 топ-менеджеров Яндекса, которые поделятся личным опытом и расскажут про возможности, которые дает работа в крупной IT-компании.
— Секреты технологий.
— И не только!

Прямо во время ивента начинающие разработчики смогут пройти экспресс-собеседование, чтобы затем попасть на стажировку в компанию. Это хороший шанс построить карьеру в Яндексе, ведь более половины стажёров, по статистике, затем получают оффер.

Гостей Young Con ждёт ещё одно событие: финал «Баттла вузов» — турнира по программированию среди студентов с призовым фондом 1 млн рублей. Выигрыш участники команды-победителя разделят между собой. Завершится фестиваль выступлением хедлайнеров The Hatters и ХЛЕБ.

Young Con пройдёт 27 июня на Live Arena в онлайн- и офлайн-формате.
Зарегистрироваться и узнать подробности можно здесь.

Это #партнёрский пост

Читать полностью…

Zen of Python

​​socket | Пусть ОС сама выбирает порт

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

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

portr — аналог ngrok для команды

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

Проект на GitHub

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

Всех собак на этот for спустили

#кек

@zen_of_python

Читать полностью…

Zen of Python

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

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

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

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

@zen_of_python

Читать полностью…

Zen of Python

​​TimesFM | анализ временных рядов от Google

Наконец у Facebook Prophet (Facebook признан экстремисткой организацией на территории РФ) появился достойный конкурент, причем на базе трансформеров.

Способ инициализации тоже очень лаконичный, и даже приводить столбцы к типам ds и y не требуется.

forecast_df = tfm.forecast_on_df(
inputs=input_df,
freq="M", # monthly
value_name="y",
num_jobs=-1,
)

Репозиторий проекта

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

itrm | графики в CLI

Quick & Dirty решение для рендеринга чартов, по заверениям автора, лучше Matplotlib справляется с массивными датасетами, не плодит новых вкладок браузера каждый раз и не блокируется строкой plt.show().

Репозиторий проекта

#библиотека

@zen_of_python

Читать полностью…

Zen of Python

marimo | Переосмысленные ipynb-ноутбуки

Выпускник Стэнфорда вместе с командой создал весьма симпатичный аналог Google Colab / Jupyter Notebook и рассказывает, как сохранить исполняемость кода вне зависимости от формата (.ipynb / .py).

У продукта хорошие шансы стать ещё одним популярным решением, ведь там есть и поддержка Git, и граф зависимостей. Да и специальные «коллабные» утилиты по чтению файлов и ключей подключать не надо.

#факты

🌚 — все равно Colab
☃️ — JN фарева
🎃 — люблю трудности: VSCode
✍️ — попробую на досуге
🐳 — другое (напишите в комментариях, что именно)

@zen_of_python

Читать полностью…

Zen of Python

​​Поздравляем победителей

Задачу о клумбе верно решили:

— Cool and Fun Python (@Python3k);
— @Cheshir78;
— Лев Выскубов;
— @patriarch_chesslovo;
— @vsugoyak;
— @sidor0912;

Кратчайшие верные решения предложили Лев Выскубов:

def is_fitting(flowerbed, n):
  flowerbed = [0] + flowerbed + [0]  # Чтобы на краю можно было цветочек посадить :-)
  k = 0
  for slot in range(1, len(flowerbed) - 1):
    if not any(flowerbed[(slot - 1) : (slot + 2)]):
      flowerbed[slot] = 1
      k += 1
  return k >= n

и @patriarch_chesslovo:

def is_fitting(flowerbed, required_slots):
  is_prev_slot_filled = sum(flowerbed[0:2]) == 0
  vacant_slots = int(is_prev_slot_filled)
  for i in range(1, len(flowerbed)):
    is_curr_slot_filled = not is_prev_slot_filled and sum(flowerbed[i-1:i+2]) == 0
    vacant_slots += int(is_curr_slot_filled)
    is_prev_slot_filled = is_curr_slot_filled
    if vacant_slots >= required_slots:
      return True
  return vacant_slots >= required_slots

Отдельное спасибо @patriarch_chesslovo за описание пограничных случаев (одноместная клумба) и проверку некоторых решений.

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

#задача

@zen_of_python

Читать полностью…

Zen of Python

Задача о комбинировании подстрок

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

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


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


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

#задача

@zen_of_python

Читать полностью…

Zen of Python

Ишь, хитрец, до самой сути π решил добраться силами Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

python-graph-gallery.com | Коллекция почти всех типов графиков с кодом для Matplotlib, Plotly etc.

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

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

@zen_of_python

Читать полностью…

Zen of Python

​​Что нового в Python 3.13

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

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

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

#факты

@zen_of_python

Читать полностью…

Zen of Python

Всё о безопасной разработке расскажут на PHDays Fest 2 в Лужниках 23–26 мая

Positive Technologies вместе с сообществом POSIdev подготовили несколько секций с докладами для разработчиков: 

General development,
Development Security,  
Platform Engineering,
Data Engineering,
Team Lead,
Python совместно с сообществом Moscow Python,
Dev tools, languages & frameworks.

Спикеры из Samokat, Тинькофф, СберМаркет, Yandex Cloud, Kaspersky, Lamoda Tech, Aвито, Positive Technologies и других компаний расскажут про архитектуру распределённых систем, безопасную разработку приложений, алгоритмы, языки и инструменты разработки, управление командой и не только. 

В перерывах можно будет поиграть в IT-крокодила, решить безопасный кроссворд, выиграть полезную книгу или просто отдохнуть в лаунж-зоне. А в субботу, 25 мая, поучаствовать в воркшопах экспертов из Positive Technologies, Yandex Cloud и Hilbert Team, Wildberries или в олимпиаде по программированию

Программа
Регистрация

Это #партнёрский пост

Читать полностью…

Zen of Python

​​Водяной знак на Matplotlib-графике

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

#факты

@zen_of_python

Читать полностью…

Zen of Python

bytewax для процессинга Kafka и подобных

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

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

Проект на GitHub

#фреймворк

@zen_of_python

Читать полностью…

Zen of Python

​​Поздравляем победителей

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

— @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

Читать полностью…

Zen of Python

Задача о клумбе

У вас есть длинная клумба, на которой часть слотов занята, часть нет. Цветы нельзя сажать на соседних слотах. Вам подаётся список целочисленных значений, где 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

Читать полностью…
Subscribe to a channel