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
Проверка состояния сайта на requests

Таким лаконичным способом можно массово проверять жизнеспособность не только сайтов, но и множества веб-страниц на нём, в любых количествах. Возможности requests неисчерпаемы!

pip install requests

import requests
r = requests.get("https://medium.com/@pythonians")
print(r.status_code) # 200

#request
14👍4👎2
Условно бесплатный сервер от Amazon EC2

Благодаря вашим комментариям, мы теперь можем регулярно знакомить вас с различными решениями для скорого и условно бесплатного развёртывания базовых версий ваших проектов - ботов, баз данных, контейнеров и проч.

На сей раз в обзор попала промо-программа Amazon AWS: в зависимости от ваших потребностей бесплатный аккаунт позволяет в течение года расходовать или 750 часов работы сервера / 1М запросов ежемесячно / 500 Мб места для хранения данных. Программа включает даже эластичную балансировку нагрузки!

#AmazonAWS
👍12👎1
Элегантный способ выделить простые числа из списка любого размера

Всего за 11 строк кода YouTube-блогер b001 показывает, как выделить из списка на 1000 чисел простые и вытащить из в отдельный объект. Заодно можно узнать, как вытащить результирующий список из объекта со ссылкой на ячейку памяти.

#лучшиепрактики
🤮26👎3👍2
Maigret для досье на человека

Это удобный, и что немаловажно, поддерживаемый OSINT-инструмент, который составляет досье на человека по никнейму, проверяя аккаунты на множестве сайтов, среди которых Telegram, Instagram, Pinterest и Reddit. Назван, кстати, в честь вымышленного французского детектива Жюля Мегре.

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

#OSINT #maigret
👎6👍1
Как сдружить match-case и input()

В своем минутном видео блогер b001 показывает, как вызывать ту или иную функцию на основе пользовательского ввода. В целом применение конструктора match / case довольно нестандартное. И не забыта обработка для случаев, когда пользователь балуется и пишет «фывумыву».

#лучшиепрактики
👍3👎2
Причесываем многострочный вывод с print()

Если вы хотите, чтобы ваш вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это как бы «зарезервирует» пространство из 10 символов:

name1 = 'Владимир'
name2 = 'Илья'

print(f'{name1:10}: тимлид')
print(f'{name2:10}: фулстэк-разработчик')

Вывод будет приятным и опрятным:

Владимир : тимлид
Илья : фулстэк-разработчик

#лучшиепрактики
👍23
Дайджест Python

Собрали дайджест из лучших материалов по Python с 1 по 14 июля, которые только смогли найти. Дайджест включает статьи и видео на русском и английском языках.

Узнайте, как сделать из Python-скрипта исполняемый файл, какие инструменты использовать в Data Science и как настроить автопостинг в ВК.

#обучение
👍1🔥1
python_regular_expression_Page1.pdf
204.3 KB
Регулярные выражения: шпаргалка

Документ включает самые:
— ходовые спецсимволы;
— частоиспользуемые методы модуля requests;
— полезные объекты Match;
— Escape-символы и проч.

#regex
💩11👍4🤬21🥰1
Принципы SOLID на примерах Python

В статье разобрали принципы SOLID на примерах Python-кода, с подробным объяснением преимуществ и возможных недостатков каждого принципа.

#лучшиепрактики
🔥7💩21
Гоша Дударь про разработку Python-ботов с нуля

В своём плейлисте на 12 роликов известный ютьюбер показывает, как создать бота на aiogram, подключить к нему базу данных SQLite и развернуть свой проект для связки с Telegram. Прекрасный стек для новичков.

#aiogram #sqlite #webhookбот
👎26👍8💩7🤡32
GPT-Migrate — ИИ-инструмент для миграции с одного языка или фреймворка на другой

GPT-Migrate позволяет быстрее переписать весь код с одного языка программирования на другой. Подробнее о том, как мигрировать с языка на язык, включая Python, в статье Рафаила Агазода,

#лучшиепрактики
Прекратите использовать datetime.utcnow()!

Благодаря нашему подписчику @Nekozawa, вашему вниманию альтернативный способ сгенерировать временной штамп без использования utcnow(). Этот метод, в виду своей «наивности» не учитывает часовой пояс, что может привести к ошибкам и, что хуже, некорректной работе кода.

Оптимальный способ выглядит так:

tmstmp = datetime.now(tz=timezone.utc)

Статья, отправляющая utcnow() в анналы истории, здесь.

#лучшиепрактики
🔥61👍1👎1
Как архивировать папку силами Python

С этим поможет библиотека zipfile. Она последовательно запакует в каждый из файлов в .zip:

import os
import zipfile

def zipdir(path, ziph):
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file),
os.path.relpath(os.path.join(root, file),
os.path.join(path, '..')))

with zipfile.ZipFile('Python.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
zipdir('tmp/', zipf)


#zipfile
👍2
Скрытый функционал цикла while

Оказывается, у while есть свой else, как и у if! В своём YouTube-шортсе @Indently показывает, как вызывать c else уведомление об окончании действий в цикле.

#факты
💩12👍10🤣6👀2
Airbrake: мониторинг ошибок

Эта система мониторинга подключается к вашему проекту Django всего за четыре строки кода:


pip install -U pybrake

import pybrakenotifier = pybrake.Notifier(
project_id=123,
project_key='abcdefgh12345678')

Библиотека предлагает, помимо категоризации ошибок, ещё и аналитику (как меняется число ошибок от недели к неделе, как изменилось время ответа сервера и т.д.)

#airbrake #факты
👍7👎1
Запись логов в файл методом print()

В своём коротком видео ютьюбер @Indently показывает, как изменить статус выводимого print() текста на ошибку, чтобы усовершенствовать процесс отладки. Всего за 6 строк кода он создает возможность записывать время возникновения ошибки и кастомный текст, описывающий её.

#лучшиепрактики
💩29👍31
Удобная запись больших чисел в Python

Если уж и довелось использовать в коде большое число, то для улучшения его читаемости (в коде, не на выводе) можно использовать «экспоненциальную запись» (Scientific Notation). В своём минутном ролике @Indently показывает, какие принимаются разделители, кроме пробела.

#лучшиепрактики
4💩4
Гвидо ван Россум о создании Python за 4+ минуты

Короче, наверное, и не расскажешь. Создатель языка рассказал вкратце (на английском), что послужило предпосылкой для создания языка, причём здесь Амстердам и чем ему не угодили shell-скрипты.

#интервью
👏10👍2🔥2
Рейтинг лучших программистов в мире 2023

Объявляем баттл за звание лучшего программиста мира.

В сегодняшнем раунде участвуют две пары:
— Марк Цукерберг, создатель запрещённой в РФ компании против Павла Дурова, создателя Вконтакте и Telegram;
— Илон Маск, основатель SpaceX, владелец Twitter, соучредитель Neuralink и OpenAI против Сергея Брина, соучредителя Google.

#баттлпрограммистов
👎22💩12🔥3🤡2
Trafilatura: CLI-аналог BeautifulSoup

Интересный opensource-инструмент Trafilatura, предлагающий скрейпинг содержимого веб-страниц. По заверениям создателя, утилита пытается найти баланс между ограничением шума («левых» элементов на странице) и включением всех смыслонесущих частей.

Какие удобные утилиты для парсинга, кроме BS4, вы знаете? Поделитесь в комментариях.

#CLI
👍5🔥32