Конструкторы datetime
Модуль datetime предоставляет классы «Дата» <D>, «Время» <T>, «Временной штамп» <DT> и «Временная дельта» <TD>.
Как получить значение текущего времени в разных форматах?
#факты
Модуль 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
Забавный автоперевод документации REST
"Упдейтшитпропертиесрекуест", "ОбновлениеНамедРангерекуест", "Аддшитрекуест" и прочих неведомых зверей предлагает использовать Google при обращении с API Таблиц. Забавное временное явление можно увидеть в русскоязычной версии документации.
#факты
"Упдейтшитпропертиесрекуест", "ОбновлениеНамедРангерекуест", "Аддшитрекуест" и прочих неведомых зверей предлагает использовать Google при обращении с API Таблиц. Забавное временное явление можно увидеть в русскоязычной версии документации.
#факты
😁12👍2
Как скачивать посты Instagram на Python
Opensource-библиотека instaloader позволяет обойти блокировку соцсети на территории РФ, а также скачать фотографии, теги к ним, сторис и другие медиафайлы, cгрузить комментарии. Инструмент также позволяет детально настраивать фильтры.
#лучшиепрактики
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
Как заставить функцию print() «окружить» слово повторяющимися символами
Вечно можно смотреть на три вещи: огонь, воду, и как очередной разработчик показывает питоническую фишку. В своем минутном видео формата YouTube Shorts Indently показывает, как повторить что-либо с помощью спецсимволов
#факты
Вечно можно смотреть на три вещи: огонь, воду, и как очередной разработчик показывает питоническую фишку. В своем минутном видео формата YouTube Shorts Indently показывает, как повторить что-либо с помощью спецсимволов
> / < / ^
. #факты
🔥14👍1
Топ самых полезных магических команд для завсегдатаев Colab
Составили подборку из девяти команд для Google Colab / Jupyter Notebook и показали, как они работают на примерах, а также дополнили фишечками.
#ipython #pythonMagic
Составили подборку из девяти команд для Google Colab / Jupyter Notebook и показали, как они работают на примерах, а также дополнили фишечками.
#ipython #pythonMagic
❤5
Blurfaces: обеспечиваем конфиденциальность людей
Это удобная утилита, которая позволяет скрывать лица на видео. Для работы с ней достаточно передать путь к видео и изображению того, чьё лицо нужно скрыть. Возможно и обратное: скрыть всех, кроме одного лица.
#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
Переход с Python на Go
Если вы пишете на Python, то скорее всего, в вашей жизни уже попадался человек, который предсказывал скорую смерть этого ЯП и предлагал перейти на Golang.
Возможно, вы даже задумываетесь о переходе. В статье разобрали кейсы из практики и показали, кто где побеждает.
#лучшиепрактики
Если вы пишете на Python, то скорее всего, в вашей жизни уже попадался человек, который предсказывал скорую смерть этого ЯП и предлагал перейти на Golang.
Возможно, вы даже задумываетесь о переходе. В статье разобрали кейсы из практики и показали, кто где побеждает.
#лучшиепрактики
💩15👍4🤮4
Декораторы в Python
Так прекрасно, когда непростые концепции объясняют за столь короткое время! В своем минутном видео формата YouTube Shorts пользователь b001 показывает на примере, что такое декораторы (их еще называют wrappers — «обёртки») и как они позволяют передать функцию в качестве аргумента.
#лучшиепрактики
Так прекрасно, когда непростые концепции объясняют за столь короткое время! В своем минутном видео формата YouTube Shorts пользователь b001 показывает на примере, что такое декораторы (их еще называют wrappers — «обёртки») и как они позволяют передать функцию в качестве аргумента.
#лучшиепрактики
👍15❤1😁1
Словарное включение: и такое есть, не только списковое
Многим из нас знакома концепция List Comprehension (списковое включение) — эффективный способ перебрать список. Оказывается, на выходе можно получить еще и словарь!
В своем минутном видео в формате YouTube Shorts пользователь b001 показывает, как создать словарь, описывающий длины имён. Вы наверняка догадываетесь, как получить длины имен списком, но как добиться такого представления, как ниже?
#лучшиепрактики
Многим из нас знакома концепция List Comprehension (списковое включение) — эффективный способ перебрать список. Оказывается, на выходе можно получить еще и словарь!
В своем минутном видео в формате YouTube Shorts пользователь b001 показывает, как создать словарь, описывающий длины имён. Вы наверняка догадываетесь, как получить длины имен списком, но как добиться такого представления, как ниже?
{'Daniel': 6, 'Mike': 4, 'William': 7}
#лучшиепрактики
🤡3👍2🌚1
Как выделить записи за предыдущий месяц
Допустим, вы работаете с API хранилища наподобие BigQuery и хотите обработать записи за предыдущий месяц (например, рассчитать эффективность бота). Не столь очевидно решение, как создать такую выборку. Здесь нам поможет библиотека datetime и ее модули timedelta, date:
Теперь мы можем навесить на датафрейм маску:
#datetime
Допустим, вы работаете с 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
Подборка лучших книг для изучения Python на русском языке (+ссылки на скачивание)
— Изучаем Python
Автор: Марк Лутц
— Изучаем Python
Автор: Эрик Мэтиз
— Изучаем программирование на Python
Автор: Пол Бэрри
— Автоматизация рутинных задач с помощью Python
Автор: Эл Свейгарт
— Легкий способ выучить Python 3
Автор: Зед А. Шоу
— Python. К вершинам мастерства
Автор: Лусиану Рамальо
— Python Книга рецептов
Авторы: Дэвид Бизли, Брайан К. Джонс
— Глубокое обучение на Python
Автор: Франсуа Шолле
#книги
— Изучаем Python
Автор: Марк Лутц
— Изучаем Python
Автор: Эрик Мэтиз
— Изучаем программирование на Python
Автор: Пол Бэрри
— Автоматизация рутинных задач с помощью Python
Автор: Эл Свейгарт
— Легкий способ выучить Python 3
Автор: Зед А. Шоу
— Python. К вершинам мастерства
Автор: Лусиану Рамальо
— Python Книга рецептов
Авторы: Дэвид Бизли, Брайан К. Джонс
— Глубокое обучение на Python
Автор: Франсуа Шолле
#книги
❤8👍6👎2🔥1
Проверка состояния сайта на requests
Таким лаконичным способом можно массово проверять жизнеспособность не только сайтов, но и множества веб-страниц на нём, в любых количествах. Возможности requests неисчерпаемы!
#request
Таким лаконичным способом можно массово проверять жизнеспособность не только сайтов, но и множества веб-страниц на нём, в любых количествах. Возможности 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
Благодаря вашим комментариям, мы теперь можем регулярно знакомить вас с различными решениями для скорого и условно бесплатного развёртывания базовых версий ваших проектов - ботов, баз данных, контейнеров и проч.
На сей раз в обзор попала промо-программа Amazon AWS: в зависимости от ваших потребностей бесплатный аккаунт позволяет в течение года расходовать или 750 часов работы сервера / 1М запросов ежемесячно / 500 Мб места для хранения данных. Программа включает даже эластичную балансировку нагрузки!
#AmazonAWS
👍12👎1
Элегантный способ выделить простые числа из списка любого размера
Всего за 11 строк кода YouTube-блогер b001 показывает, как выделить из списка на 1000 чисел простые и вытащить из в отдельный объект. Заодно можно узнать, как вытащить результирующий список из объекта со ссылкой на ячейку памяти.
#лучшиепрактики
Всего за 11 строк кода YouTube-блогер b001 показывает, как выделить из списка на 1000 чисел простые и вытащить из в отдельный объект. Заодно можно узнать, как вытащить результирующий список из объекта со ссылкой на ячейку памяти.
#лучшиепрактики
🤮26👎3👍2
Maigret для досье на человека
Это удобный, и что немаловажно, поддерживаемый OSINT-инструмент, который составляет досье на человека по никнейму, проверяя аккаунты на множестве сайтов, среди которых Telegram, Instagram, Pinterest и Reddit. Назван, кстати, в честь вымышленного французского детектива Жюля Мегре.
Репозиторий проекта на GitHub
#OSINT #maigret
Это удобный, и что немаловажно, поддерживаемый OSINT-инструмент, который составляет досье на человека по никнейму, проверяя аккаунты на множестве сайтов, среди которых Telegram, Instagram, Pinterest и Reddit. Назван, кстати, в честь вымышленного французского детектива Жюля Мегре.
Репозиторий проекта на GitHub
#OSINT #maigret
👎6👍1
Как сдружить match-case и input()
В своем минутном видео блогер b001 показывает, как вызывать ту или иную функцию на основе пользовательского ввода. В целом применение конструктора
#лучшиепрактики
В своем минутном видео блогер b001 показывает, как вызывать ту или иную функцию на основе пользовательского ввода. В целом применение конструктора
match / case
довольно нестандартное. И не забыта обработка для случаев, когда пользователь балуется и пишет «фывумыву».#лучшиепрактики
👍3👎2
Причесываем многострочный вывод с print()
Если вы хотите, чтобы ваш вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это как бы «зарезервирует» пространство из 10 символов:
Вывод будет приятным и опрятным:
#лучшиепрактики
Если вы хотите, чтобы ваш вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это как бы «зарезервирует» пространство из 10 символов:
name1 = 'Владимир'
name2 = 'Илья'
print(f'{name1:10}: тимлид')
print(f'{name2:10}: фулстэк-разработчик')
Вывод будет приятным и опрятным:
Владимир : тимлид
Илья : фулстэк-разработчик
#лучшиепрактики
👍23