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.5K
Videos
202
Links
3.7K

Showing posts older than #2520 · Back to latest

Older Posts 20 shown
Post #2519 5.18K
​Maigret для досье на человека

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

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

#OSINT #maigret
  • 👎 6
  • 👍 1
Post #2518 4.97K
​Элегантный способ выделить простые числа из списка любого размера

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

#лучшиепрактики
  • 🤮 26
  • 👎 3
  • 👍 2
Post #2517 5.12K
​Условно бесплатный сервер от Amazon EC2

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

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

#AmazonAWS
  • 👍 12
  • 👎 1
Post #2516 4.81K
​Проверка состояния сайта на requests

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

pip install requests

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

#request
  • ❤ 14
  • 👍 4
  • 👎 2
Post #2515 5.7K
​Подборка лучших книг для изучения Python на русском языке (+ссылки на скачивание)

— Изучаем Python
Автор: Марк Лутц

— Изучаем Python
Автор: Эрик Мэтиз

— Изучаем программирование на Python
Автор: Пол Бэрри

— Автоматизация рутинных задач с помощью Python
Автор: Эл Свейгарт

— Легкий способ выучить Python 3
Автор: Зед А. Шоу

— Python. К вершинам мастерства
Автор: Лусиану Рамальо

— Python Книга рецептов
Авторы: Дэвид Бизли, Брайан К. Джонс

— Глубокое обучение на Python
Автор: Франсуа Шолле

#книги
  • ❤ 8
  • 👍 6
  • 👎 2
  • 🔥 1
Post #2514 4.57K
​Как выделить записи за предыдущий месяц

Допустим, вы работаете с API хранилища наподобие BigQuery и хотите обработать записи за предыдущий месяц (например, рассчитать эффективность бота). Не столь очевидно решение, как создать такую выборку. Здесь нам поможет библиотека datetime и ее модули timedelta, date:

from datetime import timedelta, date

last_day_of_prev_month = date.today().replace(day = 1) - timedelta(days = 1) # Последний день предыдущего месяца

start_day_of_prev_month = date.today().replace(day = 1) - timedelta(days = last_day_of_prev_month.day) # Первый день предыдущего месяца

Теперь мы можем навесить на датафрейм маску:

mask = (monthlyEffectiveness['receiveTimestamp'] >= start_day_of_prev_month) & (monthlyEffectiveness['receiveTimestamp'] <= last_day_of_prev_month)
lastMonthSessions = monthlyEffectiveness.loc[mask]


#datetime
  • ❤ 6
  • 👍 2
Post #2513 4.87K
​Словарное включение: и такое есть, не только списковое

Многим из нас знакома концепция List Comprehension (списковое включение) — эффективный способ перебрать список. Оказывается, на выходе можно получить еще и словарь!

В своем минутном видео в формате YouTube Shorts пользователь b001 показывает, как создать словарь, описывающий длины имён. Вы наверняка догадываетесь, как получить длины имен списком, но как добиться такого представления, как ниже?

{'Daniel': 6, 'Mike': 4, 'William': 7}

#лучшиепрактики
  • 🤡 3
  • 👍 2
  • 🌚 1
Post #2512 5.37K
​Декораторы в Python

Так прекрасно, когда непростые концепции объясняют за столь короткое время! В своем минутном видео формата YouTube Shorts пользователь b001 показывает на примере, что такое декораторы (их еще называют wrappers — «обёртки») и как они позволяют передать функцию в качестве аргумента.

#лучшиепрактики
  • 👍 15
  • ❤ 1
  • 😁 1
Post #2511 5.36K
​Переход с Python на Go

Если вы пишете на Python, то скорее всего, в вашей жизни уже попадался человек, который предсказывал скорую смерть этого ЯП и предлагал перейти на Golang.
Возможно, вы даже задумываетесь о переходе. В статье разобрали кейсы из практики и показали, кто где побеждает.

#лучшиепрактики
  • 💩 15
  • 👍 4
  • 🤮 4
Post #2510 5.49K
​Blurfaces: обеспечиваем конфиденциальность людей

Это удобная утилита, которая позволяет скрывать лица на видео. Для работы с ней достаточно передать путь к видео и изображению того, чьё лицо нужно скрыть. Возможно и обратное: скрыть всех, кроме одного лица.

git clone git@github.com:raviksharma/blurfaces.git

python3 blur_faces.py friends.mp4 --mode allexcept --model cnn --censor-type facemasking --in-face-file media/Ross_Geller.jpg

#blurfaces
  • ❤ 7
  • 👌 2
  • 👍 1
Post #2509 5.21K
​Топ самых полезных магических команд для завсегдатаев Colab

Составили подборку из девяти команд для Google Colab / Jupyter Notebook и показали, как они работают на примерах, а также дополнили фишечками.

#ipython #pythonMagic
  • ❤ 5
Post #2508 5.42K
​Как заставить функцию print() «окружить» слово повторяющимися символами

Вечно можно смотреть на три вещи: огонь, воду, и как очередной разработчик показывает питоническую фишку. В своем минутном видео формата YouTube Shorts Indently показывает, как повторить что-либо с помощью спецсимволов > / < / ^.

#факты
  • 🔥 14
  • 👍 1
Post #2507 5.19K
​Python для Ad hoc аналитики на BigQuery

Рассказали в статье, как создавать запросы с помощью BigQuery API (библиотеки, упрощающей обращение с хранилищем), как записывать и читать данные.

#BigQuery
Post #2506 5.94K
Виртуальное окружение: шпаргалка

#virtualenv
  • 👎 4
Post #2505 5.51K
​Как скачивать посты Instagram на Python

Opensource-библиотека instaloader позволяет обойти блокировку соцсети на территории РФ, а также скачать фотографии, теги к ним, сторис и другие медиафайлы, cгрузить комментарии. Инструмент также позволяет детально настраивать фильтры.

pip install instaloader

import instaloader

loader = instaloader.Instaloader()
target_profile = "<ссылка на профиль>"
loader.download_profile(target_profile, profile_pic=False, fast_update=True)

#лучшиепрактики
  • 👍 14
  • 🤔 4
  • 👎 3
  • ❤ 2
Post #2504 5.67K
​Забавный автоперевод документации REST

"Упдейтшитпропертиесрекуест", "ОбновлениеНамедРангерекуест", "Аддшитрекуест" и прочих неведомых зверей предлагает использовать Google при обращении с API Таблиц. Забавное временное явление можно увидеть в русскоязычной версии документации.

#факты
  • 😁 12
  • 👍 2
Post #2503 4.98K
​Splat-оператор

Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) расширяют словарь до именованных аргументов:

Этот код:
args = (1, 2)
kwargs = {'x': 3, 'y': 4, 'z': 5}
func(*args, **kwargs)

Равнозначен следующему:
func(1, 2, x=3, y=4, z=5)

#факты
  • 👍 12
  • ❤ 2
Post #2502 5.08K
​Конструкторы datetime

Модуль datetime предоставляет классы «Дата» <D>, «Время» <T>, «Временной штамп» <DT> и «Временная дельта» <TD>.

<D> = date(year, month, day) # Only accepts valid dates from 1 to 9999 AD.
<T> = time(hour=0, minute=0, second=0) # Also: `microsecond=0, tzinfo=None, fold=0`.
<DT> = datetime(year, month, day, hour=0) # Also: `minute=0, second=0, microsecond=0, …`.
<TD> = timedelta(weeks=0, days=0, hours=0) # Also: `minutes=0, seconds=0, microseconds=0`.

Как получить значение текущего времени в разных форматах?

D/DT.today() # Текущая локальная дата (NB! в часовом поясе, где развернута машина)
DT.utcnow() # Текущие дата и время без часового пояса
DT.now(<tzinfo>) # Текущие дата и время с часовым поясом

#факты
  • 👍 5
Post #2501 5.11K
​itertools.compress: удобный способ фильтрации данных

В своем уроке UProger описывает, как фильтровать первый список leaders на основе вспомогательного списка selector.

#лучшиепрактики
  • 👍 8
Post #2500 5.1K
​Забытые способы указать число знаков после запятой

Помимо привычного символа f, есть еще способы форматировать числа при выводе: e и % (знак процента).

{1.23456:10.3f} # '1.235' – до тысячных (три знака)
{1.23456:10.3e} # '1.235e+00' – равно 1.235, то есть умножено на 10 в нулевой степени (на единицу)
{1.23456:10.3%} # '123.456%' – тоже до тысячных, но для процентов
  • ❤ 5
  • 👍 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 →