zen_of_python | Unsorted

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

20687

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

Subscribe to a channel

Zen of Python

pyinfra | превращаем Py-скрипты в shell-команды

Библиотека превращает код.py в shell-команды для вашего сервера, Docker-контейнера, Terraform, Vagrant и проч. Масштабируется до тысячи устройств. Быстрый дебаг флажком -vvv.

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

#библиотека

@zen_of_python

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

Zen of Python

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

Задаёт @SergioFabulous:

«Как настроить сохранение логов в разных файлах?
Чтобы file_1.py сохранял логи в file_1.log, file_2.py сохранял логи в file_2.log, ..., file_100500.py сохранял логи в file_100500.log»

От админа: loguru вам уже посоветовали, но все же интересно, какие ещё решения используют Py-разработчики?

🌚 — loguru;
🏆 — Python logging;
⚡— sentry;
🐳 — записываю в файлы встроенными компонентами;
☃️ — другое (напишите в комментариях, что именно);
👾 — это вне моей специфики.

@zen_of_python

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

Zen of Python

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

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

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

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

@zen_of_python

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

Zen of Python

​​selfedu | Туторы про Python, Django, ML и окололежащее

selfedu_rus/videos">Годный YouTube-канал про основы ООП, хранение данных, веб-фреймворки и темы-сателлиты. Спасибо подписчику @Sarutor за рекомендацию.

Подборка популярных видео:
ООП в Py простыми словами;
полносвязная нейросеть;
Тервер. Формула Байеса;
История нейросетей.

#подборка

@zen_of_python

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

Zen of Python

​​jupysql | SQL в ноутбуке.ipynb

С этой библиотекой не придётся перегружать память собственного компьютера. Мэджик-командой %sql можно обратиться к БД на сервере. Поддерживает перегонку из SQL-таблицы в датафрейм pandas.

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

@zen_of_python

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

Zen of Python

Когда клиент вносит «совсем незначительные» правки в проект:

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

Zen of Python

Задача о драгоценностях

Вам дана строка jewels — типы камней (все буквы уникальны), и stones — камни в наличии у ювелира. Каждый символ в stones — тип имеющегося камня.

Создайте функцию is_jewel(), определяющую, сколько камней драгоценны, а сколько нет.

Условия:
— Присутствует чувствительность к регистру («а» и «А» – разные камни).

1 <= jewels.length, stones.length <= 50


Для проверки:


jewels = "aA" # a — бриллиант, A – сапфир
stones = "aAAbbbb" # b — кварц (недрагоценный)

>>> is_jewel(stones, jewel)
... 3


@zen_of_python

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

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

​​tab-pal | кастомные палитры в Tableau

Автоматически ищет конфиги Preferences.tsp, запоминает путь до конфигов в рамках виртуального окружения.

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

#библиотека

@zen_of_python

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

Zen of Python

#кек

@zen_of_python

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

Zen of Python

​​Зачем в проекте папка __pycache__?

Как только проект становится сложне, мы часто выносим часть функционала в отдельные модули или пакеты. Именно тогда из ниоткуда появляется __pycache__, причём в случайных местах:

project/

├── mathematics/
│ │
│ ├── __pycache__/
│ │
│ ├── arithmetic/
│ │ ├── __init__.py
│ │ ├── add.py
│ │ └── sub.py
│ │
│ ├── geometry/
│ │ │
│ │ ├── __pycache__/
│ │ │
│ │ ├── __init__.py
│ │ └── shapes.py
│ │
│ └── __init__.py

└── calculator.py

Разбираемся, что это за директория, зачем Python свой кэш и почему он нужен на многих «этажах» проекта.

#факты

@zen_of_python

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

Zen of Python

​​Тест на знание CRUD

Короткий квиз на 6 вопросов с небезызвестного realpython.com про операции create / read / update / delete. Перед прохождением можно освежить материал с помощью статьи.

#тест

@zen_of_python

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

Zen of Python

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

Задачу про комбинирование строк верно решили:
— @beibarysm;
— Лев Выскубов;
— @impreza555;
— @sidor0912;
— @vsugoyak

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

def merge(str1, str2):
  return ''.join(sorted(set(list(str1) + list(str2))))

и @impreza555:

def merge(str1: str, str2: str) -> str:
  return "".join(sorted(set(str1) | set(str2)))

#задача

@zen_of_python

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

Zen of Python

​​bridge | Ускоренный деплой Django-инфраструктуры

Утилита может мгновенно развернуть:
— БД на PostgreSQL;
— Redis (систему управления базами);
— Celery (для задач в фоновом режиме).

Также поддерживается быстрый деплой на render.com.

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

#библиотека

@zen_of_python

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

Zen of Python

​​Google уволил целую команду Python-разработчиков

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

#факты

@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

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