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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
А инсайтами никто не вдохновляется, потому что коллеги повыгорали.

@zen_of_python
😁2🍌1
​​Google уволил целую команду Python-разработчиков

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

#факты

@zen_of_python
🍌42😁1
Задача о драгоценностях

Вам дана строка 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
🍌1
​​bridge | Ускоренный деплой Django-инфраструктуры

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

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

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

#библиотека

@zen_of_python
👍6🍌1
Forwarded from Веб-страница
Когда клиент вносит «совсем незначительные» правки в проект:
😁22👍1🍌1
Поздравляем победителей

Задачу про комбинирование строк верно решили:
@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
👍6🍌1
🤯11👍42🍌1
Каким будет результат выполнения кода выше?
Anonymous Quiz
51%
[21, 49, 15]
22%
[0, 49, 88]
13%
[49]
15%
Error
🍌6
​​jupysql | SQL в ноутбуке.ipynb

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

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

@zen_of_python
1🍌1
​​Тест на знание CRUD

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

#тест

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

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

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

#подборка

@zen_of_python
10🍌2👍1🎉1
​​Зачем в проекте папка __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
👍21
​​Вопросы от новичков

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

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

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

@zen_of_python
11👍2😁2
​​Вопрос от подписчика

Задаёт @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
🏆27🌚76👾6👍2
​​tab-pal | кастомные палитры в Tableau

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

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

#библиотека

@zen_of_python
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
pyinfra | превращаем Py-скрипты в shell-команды

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

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

#библиотека

@zen_of_python
👍1🤔1
Задача про поворот изображения

На вход подаётся двоичная матрица n x n из нулей и единиц. Наша задача — перевернуть изображение по горизонтали, затем инвертировать его значения.

— Переворот [1,1,0] по горизонтали приводит к [0,1,1].
— Инвертирование изображения означает, что каждый 0 заменяется 1, а каждая 1 заменяется 0.



>>> image = [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
>>> flip(image)
... [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]


1. Переворот по горизонтали: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]]
2. Инверсия: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]

#задача

@zen_of_python
👍21🍌1
​​PEP 667 | апгрейд пространства имён

В ранних версиях Python все пространства имён были словарями. Для повышения производительности namespace была изменена, что привело к непоследовательному поведению locals() и frame.f_locals.

Вывод скрипта на изображении, мягко говоря, смущает и приводит к багам.

Суть PEP:

— Сделать пространства имён функций, классов и модулей согласованными;
— Изменения в frame.f_locals незамедлительно отражаются в соответствующих переменных и наоборот;
— Функция locals() возвращает снимок frame.f_locals в случае функции.

— бывало такое;
🌭 — не сталкивался с locals();
🤓 — ещё только учусь читать PEP.

#факты

@zen_of_python
🌭15🤓15
Forwarded from Нейроканал
​​scrapegraphai | LLM-скрейпер

Это библиотека Python для очистки веб-страниц, которая использует LLM и логику прямого графа для создания конвейеров очистки веб-сайтов и локальных документов (XML, HTML, JSON и т.д.). Просто скажите, какую информацию вы хотите извлечь, и библиотека сделает это за вас.

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

#llm

@neuro_channel
4🍌1