TGViewer
Channel Public Channel
Zen of Python

Zen of Python

@zen_of_python

Полный Дзен Пайтона в одном канале

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Subscribers
18.8K
Photos
1.4K
Videos
202
Links
3.6K

Showing posts older than #4168 · Back to latest

Older Posts 20 shown
Post #4167 2.88K

Forwarded from Нейроканал

Вежливость города нейросети берет.

Восстание машин ему точно не страшно.
  • 😁 24
  • 👍 3
Post #4166 2.91K
Это оберег от новых задач. Пускай рабочие чаты пополняются сообщениями, уведомления о них на майские сегодня можно заглушить.

❤️, если заглушил все рабочие уведомления
🎃, если вынужден гасить внезапные пожары на выходных

@zen_of_python
  • ❤ 10
  • 🎃 4
  • 🌚 3
Post #4165 2.88K
ПОВ: ты шашлык на тарелке

#кек
@zen_of_python
  • 😁 15
  • 🔥 4
  • 🤣 2
Post #4164 6.63K
Пока весна цветёт в коммитах мая,
Твой Python-код без лишних точек с запятой.
С Первомаем, кодер, Поздравляю!
Пусть в выходные твой канбан несет покой.

@zen_of_python
  • 👏 14
  • 👎 2
  • ❤ 1
Post #4163 2.85K
Редакция Tproger желает питонистам хорошенько почиллить на этих майских праздниках. Также помянем коллег из поддержки 24 / 7 (оставим им хотя бы цифровой шашлык):

©-🐍-🤓-😂-🐍-🕸-🔖->
| |
| |
|🔥 🔥 🔥🔥🔥🔥 🔥|

@zen_of_python
  • ❤ 4
  • 🔥 4
  • 🤪 3
Post #4162 2.79K
League-Smile-Therapy | Как часто компьютерный игрок улыбается

Один любопытный реддитор создал приложение на Python + OpenCV, которое буквально смотрит, улыбаетесь ли вы во время игры в League of Legends. А что, там какие-то плюшки за позитивный настрой полагаются?

#кек
@zen_of_python
  • 👀 3
  • 🎃 1
Post #4161 2.91K
PEP 770 принят: «Улучшая измеримость пакетов ...»

11 апреля принята к разработке стандартизированный метод SBOM (англ. Software Bill-of-Materials). Этот документ будет располагаться в .dist-info/sboms и:
решать проблему «фантомных зависимостей». Многие зависимости содержат встроенные компоненты на других языках (например, C, C++, Rust), которые не отражаются в стандартных метаданных. Это затрудняет анализ состава программного обеспечения и может привести к пропущенным уязвимостям.

Предложение не ограничивается одним форматом SBOM. В зависимости от потребностей разработчиков предлагают две альтернативы.

#факт
@zen_of_python
  • 👀 4
  • 🎃 1
Post #4160 2.85K
except* | Зачем нужна звездочка?

Когда мы работаем с asyncio, может случиться так, что несколько задач выбрасывают ошибки одновременно.

До Python 3.11 ловилась только первая ошибка. Остальные — либо игнорировались, либо приходилось мучиться с обработкой.

С Python 3.11 ввели ExceptionGroup. Это контейнер для нескольких исключений.


ExceptionGroup(
[ValueError("Ошибка 1"), TypeError("Ошибка 2")]
)


Рассмотрим пример:


import asyncio

async def task1():
raise ValueError("Ошибка в task1")

async def task2():
raise TypeError("Ошибка в task2")

async def main():
try: # ловит ExceptionGroup
await asyncio.gather(task1(), task2()) # запускает обе задачи параллельно
except* ValueError as e: # перехватывает все ValueError из группы
for err in e.exceptions:
print(f"Перехвачено ValueError: {err}")
except* TypeError as e: # перехватывает все TypeError
for err in e.exceptions:
print(f"Перехвачено TypeError: {err}")

asyncio.run(main())

'''
Вывод:
Перехвачено ValueError: Ошибка в task1
Перехвачено TypeError: Ошибка в task2
'''


Подводные камни except*

- except* нельзя комбинировать с обычным except в одном обработчике (`except* ValueError as e, TypeError as e2` — так нельзя);
- except* работает только с ExceptionGroup — для обычных исключений он не нужен;
  • 👍 14
  • ❤ 2
Post #4158 2.72K
Вопрос подписчика

Задает @Ilia_O_P:

«Есть у кого-нибудь пример метакласса, который запоминал бы изменения в объектах дочерних классов и мог их откатить, при запросе?»

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

#обсуждение
@zen_of_python
  • 🔥 2
  • 🎃 1
Post #4157 2.75K
zev | Помнит CLI-команды за вас

Утилита на базе OpenAI, которая поймет ваш запрос «на простом человеческом» и в ответ вернет команду, с учетом операционки, естественно. Создатели рекомендуют ollama, так тул вообще станет условно бесплатным.

Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
  • 🔥 2
  • ✍ 1
Post #4156 2.86K
copier | Ctrl + C, Ctrl + V для шаблонов проекта

Если вам тоже надоело настраивать проекты с нуля каждый раз, то этот инструмент как раз автоматизирует такую рутинную задачу. Принимает как локальные пути до темплейтов, так и ссылки GitHub.

❤️ — пускай у подписчиков аптайм будет 99,99%
🌚 — хочу, чтобы тот самый подходящий репозиторий с GitHub всегда был с фиксированными версиями зависимостей

Цена: бесплатно
Библиотека на PyPi
#инструмент
@zen_of_python
  • 🌚 5
  • ❤ 4
  • 👍 1
Post #4154 2.89K
Еще бы, ведь спустя столько лет наконец появились время и навык для того самого пет-проекта

#кек
@zen_of_python
  • ❤‍🔥 1
  • 😐 1
Post #4153 2.89K

Forwarded from IT Юмор

​​Когда вставил в код, написанный нейросетью, свой кусок:
  • 😁 26
  • ❤ 1
Post #4152 3.2K
Ну или по классике — закоммитил .env

#кек
@zen_of_python
  • ❤ 8
  • 👍 2
  • 😁 2
Post #4151 2.88K
Python — это уже целая религия, однако Гвидо ван Россум в ней точно отказался от роли кумира.

#кек
@zen_of_python
  • 🗿 4
  • 👎 3
  • 😁 2
  • 😐 1
Post #4150 2.85K
Вопросы подписчиков

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

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

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

@zen_of_python
Post #4148 2.59K
Вопрос подписчика

Задает @FieryDruid:

«Генерировал ли кто-нибудь индексы для моделей sqlalchemy в рантайме?

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

Написали генератор, который за нас заполняет __tableargs__ модели

Но из-за такого генератора появилось странное поведение alembic

Теперь, при каждой новой миграции, он в upgrade сначала удаляет все старые индексы, а потом добавляет их же (первая генерация нормальная, но каждая последующая сопровождается такими вот артефактами)

Может кто сталкивался или есть мысли из-за чего такое поведение может быть? Порядок генерируется один и тот же, нейминги, типы и т.д тоже».

#обсуждение
@zen_of_python
  • 👍 3
  • ❤ 1
Post #4147 2.63K
Hot Module Reloading для вашего проекта на WSGI

Тоже надоело перезапускать бота в командной строке при каждом изменении кода?

Традиционные инструменты, такие как uvicorn --reload или gunicorn --reload, при любом изменении кода полностью перезапускают сервер. Это может занимать целую вечность, если проект крупный.

Одна команда реализовала такую перезагрузку «на месте» с помощью Dependency Graph. При изменении файла система определяет все связанные с ним модули и обновляет только их.

Используя карту зависимостей и отслеживание порядка импорта, удалось сократить время обновления с 4,8 секунды до 6 миллисекунд.

✍️ — бывало, подбешивало
🗿 — ну и пускай перезагружается с нуля

#факт
@zen_of_python
  • 🗿 10
  • 👎 3
  • 🤝 1
Post #4146 2.56K
Как я сделал Telegram-кружки из обычного видео с помощью Python, ffmpeg и магии

Автор статьи — подписчик Tproger, описал, как с помощью Python и FFmpeg можно преобразовать видео в Telegram-кружочки. Хороший способ познакомиться с питонической обработкой видео и Telegram Bot API.

#основы
@zen_of_python
  • ⚡ 2
  • ❤ 1
  • ❤‍🔥 1
  • 👍 1
  • 🌭 1
Post #4145 2.66K
Вопрос подписчика

Задает @kirillkasparyants1:

«обработка файлов с расширением отличный от .txt»

От админа: если вас интересуют форматы вроде .docx, то почти для каждого из них на PyPi уже есть либа: python-docx, python-pdf и проч.

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

#обсуждение
@zen_of_python
  • ✍ 1
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →