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

Подборка лучших книг для изучения Python на русском языке (+ссылки на скачивание)

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

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

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

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

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

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

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

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

#книги

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

Zen of Python

Словарное включение: и такое есть, не только списковое

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

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

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

#лучшиепрактики

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

Zen of Python

Переход с Python на Go

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

#лучшиепрактики

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

Zen of Python

Топ самых полезных магических команд для завсегдатаев Colab

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

#ipython #pythonMagic

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

Zen of Python

Python для Ad hoc аналитики на BigQuery

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

#BigQuery

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

Zen of Python

Как скачивать посты 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)

#лучшиепрактики

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

Zen of Python

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)

#факты

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

Zen of Python

itertools.compress: удобный способ фильтрации данных

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

#лучшиепрактики

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

Zen of Python

Устроиться на работу в IT и зарабатывать 100 000 руб., пока ChatGPT работает за вас

Думаете это сказки? Нет. Это обычный день человека, который знает, как пользоваться нейросетью.

И так может каждый. Главное — изучить уникальные гайды в области ИИ, такие как этот. В этих мануалах простым языком рассказывают, как заработать с помощью нейросетей.

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

Регистрируйтесь на бесплатный курс — это последний вагон, чтобы успеть воспользоваться возможностями тренда.

Реклама ООО «Тэрра Эйай»

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

Zen of Python

Как получить расширенную информацию о картинке

Увидеть подробные метаданные изображения (с появлением цифровой фотографии это назвали EXIF): дату создания, тип камеры, и даже факт разворота позволяет утилита exifread:

import exifread
from PIL import Image
import logging

def _read_img_and_correct_exif_orientation(path):
im = Image.open(path)
tags = {}
with open(path, 'rb') as f:
tags = exifread.process_file(f, details=False)
if "Image Orientation" in tags.keys():
if 4 in val:
logging.debug("Изображение отзеркалено.")
im = im.transpose(Image.FLIP_TOP_BOTTOM)

#лучшиепрактики

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

Zen of Python

Ребят, ищем человека вести некоторые из ваших любимых каналов

Нам нужен ответственный, грамотный и влюбленный в IT товарищ — развивать и облагораживать часть telegram-каналов нашего проекта.

Если хотите стать частью нашей уютной команды, узнайте подробнее о вакансии и пишите нам. Давайте познакомимся и сработаемся: http://tprg.ru/bqed

Найдись, тот самый человек! Главред грустит.

#вакансии #работа

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

Zen of Python

Railway.app: сервер с бесплатным пробным тарифом

Чтобы не мучаться с серверами и портами, а также деплоить приложения из GitHub-репозитория и прочих источников можно на railway.app. Основное преимущество — выделенные бесплатные, пусть и скромные ресурсы. В trial-версии вам предоставят:

— 512 MB RAM;
— 1 Гб места;
— 5 демо-долларов или 500 часов работы;
— Поддержка на уровне Discord-чата.

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

Zen of Python

Поиск в Google на Python

Библиотека googlesearch-python частично избавляет от необходимости создавать сложных пауков, имитирующих действия живого человека на selenium и позволяет тонко настраивать результаты поиска: количество, язык, подробность ответа (заголовок, URL, описание).

pip install googlesearch-python

from googlesearch import search
search("Поисковый запрос", advanced=True)

>>>
# - title
# - url
# - description

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

Zen of Python

Шпаргалка SQL → Pandas

— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.

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

Zen of Python

PyCon Russia 2023 — самая большая и душевная конференция для python-разработчиков

В этом году отмечается 10-летний юбилей Пайкона! А это значит, что 28 и 29 июля вас ждут:

— мощные доклады в Python и Data треках;
— мастер-класс по поиску узких мест в коде;
— встречи с другими разработчиками и дата-сайентистами;
— вкусная еда и кофе;
— развлечения и подарки от ведущих IT-компаний.

Заинтересовало? А что если мы скажем, что по промокоду TPROGER вы получите ещё 10% скидку на билет. Мероприятие пройдёт в Старт Хаб на Красном Октябре.

Подробности и билеты можно найти по ссылке: https://pycon.ru/

Реклама ИП Герасимович Юлия Владимировна ИНН 667110267678 LjN8KWsMz

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

Zen of Python

Как выделить записи за предыдущий месяц

Допустим, вы работаете с 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

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

Zen of Python

Декораторы в Python

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

#лучшиепрактики

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

Zen of Python

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

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

Zen of Python

Как заставить функцию print() «окружить» слово повторяющимися символами

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

#факты

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

Zen of Python

Виртуальное окружение: шпаргалка

#virtualenv

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

Zen of Python

Забавный автоперевод документации REST

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

#факты

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

Zen of Python

Конструкторы 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>) # Текущие дата и время с часовым поясом

#факты

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

Zen of Python

Забытые способы указать число знаков после запятой

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

{1.23456:10.3f} # '1.235' – до тысячных (три знака)
{1.23456:10.3e} # '1.235e+00' – равно 1.235, то есть умножено на 10 в нулевой степени (на единицу)
{1.23456:10.3%} # '123.456%' – тоже до тысячных, но для процентов

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

Zen of Python

​Кстати, у нас на сайте вы можете подписаться только на интересные вам теги и отслеживать самые свежие новости и полезные статьи по этой теме.

Вот, например:
— Веб-разработка: https://tproger.ru/tag/web/
— Нейросети: https://tproger.ru/tag/neural-network/
— И геймдев: https://tproger.ru/tag/gamedev/

А ещё можно подписаться на годноту по конкретному языку:
— Python: https://tproger.ru/tag/python/
— JavaScript: https://tproger.ru/tag/javascript/
— C++: https://tproger.ru/tag/cpp/

Посмотрите все теги и выберите только те, которые интересны вам!

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

Zen of Python

IDE для питонистов с хорошим UI / UX

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

#лучшиепрактики

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

Zen of Python

Автоматическая отправка сообщения в WhatsApp

Наконец отложенные сообщения в WhatsApp! Библиотека PyWhatKit помогает отправить сообщение по времени.

import pywhatkit

# Отправить сообщение в 13:30
pywhatkit.sendwhatmsg("+910123456789", "Привет", 13, 30)

Библиотека умеет еще много интересного: от преобразования картинки в ASCII-изображение до отправки мейлов.

#лучшиепрактики

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

Zen of Python

Слияние словарей с double asterisk (**)

Чтобы лаконично и экономично с точки зрения памяти объединить два словаря, используйте оператор двойной звездочки:

d1 = {'name': 'Александр', 'age': 25}
d2 = {'name': 'Александр', 'city': 'Санкт-Петербург'}
merged_dict = {**d1, **d2}

>>> {'name': 'Александр', 'age': 25, 'city': 'Санкт-Петербург''}

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

Zen of Python

Топ реальных историй про первую работу: как начиналась карьера в IT у наших читателей

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

Делимся лучшими реальными историями про первую работу:
Как таксист в тяжёлой депрессии стал Python-разработчиком

С завода на завод. Как слесарь стал программистом всего за 8 месяцев

Как пройти путь от галеры в Новосибирске до релокейта на Филиппины

Как стать Golang-разработчиком и получить оффер на 100 000 рублей в 20 лет

Как студент из Красноярска стал фронтенд-разработчиком

#карьера #работа

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

Zen of Python

Почему Python не используется для разработки больших игр

Мы знаем, какими преимуществами обладает этот язык, но почему же его не используют для разработки полноценных игр? Среди недостатков, вытолкнувших ЯП с рынка GameDev, числятся:

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

#факты

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

Zen of Python

Эффективный способ указывать путь к файлам

С помощью библиотеки pathlib вы можете сократить длину кода, задав переменную «домашний путь» (home):

from pathlib import Path

home = Path.home()
file = home / "treasure_map.txt"
file.touch()
print(f"Ваш файл злесь: {file}")

#лучшиепрактики

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