Узнаем разницу в днях между датами представленными в виде строк
В данном коде мы используем функцию
🔗 Python tricks
В данном коде мы используем функцию
strptime
из модуля datetime
, чтобы преобразовать строки в объекты datetime
. Затем мы вычисляем разницу между датами с помощью оператора -
и получаем абсолютное значение разницы с помощью функции abs
. Наконец, мы получаем разницу в днях, используя атрибут days
разницы объекта.🔗 Python tricks
Разбиваем видео на n кол-во изображений
Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
Обратите внимание, что код использует целочисленное деление
🔗 Python tricks
Для разбиения видео на n количество изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
video_to_images
принимает путь к видео (video_path
) и количество желаемых изображений (frames_count
). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.Обратите внимание, что код использует целочисленное деление
//
и целочисленное преобразование int()
для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.🔗 Python tricks
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
🔗 Python tricks
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
🔗 Python tricks
dict.setdefault
setdefault() возвращает: значение ключа, если он есть в словаре; ничего, если ключа нет в словаре и значение по умолчанию не указано
default value, если ключ отсутствует в словаре и указано default value.
🔗 Python tricks
setdefault() возвращает: значение ключа, если он есть в словаре; ничего, если ключа нет в словаре и значение по умолчанию не указано
default value, если ключ отсутствует в словаре и указано default value.
🔗 Python tricks
Число в список цифр
Превращает целое число в список его цифр.
Функция map() принимает желаемый тип выходных данных (в нашем случае это int, целые числа) и итерируемый объект (строку, список или кортеж), элементы которого можно превратить в элементы этого типа. После этого другая функция list() преобразует результат в список.
🔗 Python tricks
Превращает целое число в список его цифр.
Функция map() принимает желаемый тип выходных данных (в нашем случае это int, целые числа) и итерируемый объект (строку, список или кортеж), элементы которого можно превратить в элементы этого типа. После этого другая функция list() преобразует результат в список.
🔗 Python tricks
Первая буква в верхнем регистре
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.
🔗 Python tricks
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.
🔗 Python tricks
Печать строки N раз
Этот пример может печатать любую строку n раз без использования циклов Python.
🔗 Python tricks
Этот пример может печатать любую строку n раз без использования циклов Python.
🔗 Python tricks
Логирование в Python с помощью Logzero. Экземпляры пользовательских логгеров
Вместо использования логгера по умолчанию, можно настроить экземпляры логгера с помощью logzero.setup_logger(..). Он возвращает полностью настроенный экземпляр логгера с различными параметрами, такими как имя, имя лог-файла, форматирование, maxBytes, backupCount и уровень логирования.
🔗 Python tricks
Вместо использования логгера по умолчанию, можно настроить экземпляры логгера с помощью logzero.setup_logger(..). Он возвращает полностью настроенный экземпляр логгера с различными параметрами, такими как имя, имя лог-файла, форматирование, maxBytes, backupCount и уровень логирования.
🔗 Python tricks
Логирование в Python с помощью Logzero. Установка пользовательского форматирования
Лог-запись можно отформатировать на свое усмотрение. Есть несколько способов: вы можете включить дату, время и уровень логирования в свой формат, чтобы знать, когда и на каком уровне был отправлен лог.
🔗 Python tricks
Лог-запись можно отформатировать на свое усмотрение. Есть несколько способов: вы можете включить дату, время и уровень логирования в свой формат, чтобы знать, когда и на каком уровне был отправлен лог.
🔗 Python tricks
Используйте многоточие в качестве заполнителя для ненаписанного кода
В Python мы обычно помещаем ключевое слово pass в качестве заполнителя для ненаписанного кода. Но мы также можем использовать многоточие для этой цели.
🔗 Python tricks
В Python мы обычно помещаем ключевое слово pass в качестве заполнителя для ненаписанного кода. Но мы также можем использовать многоточие для этой цели.
🔗 Python tricks
Список всех переменных
Эта магическая команда выдает список всех глобальных переменных, используемых в вашем блокноте.
Для того чтобы получить переменные определенного типа, мы должны указать этот тип после магической команды. Приведенный выше код отображает все переменные строкового типа в качестве выходных данных.
🔗 Python tricks
Эта магическая команда выдает список всех глобальных переменных, используемых в вашем блокноте.
Для того чтобы получить переменные определенного типа, мы должны указать этот тип после магической команды. Приведенный выше код отображает все переменные строкового типа в качестве выходных данных.
🔗 Python tricks
Преобразование разделённого запятыми списка в строку
Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.
🔗 Python tricks
Этот код преобразует разделённый запятыми список в единую строку. Его удобно использовать, когда нужно объединить весь список со строкой.
🔗 Python tricks
Выполнение html-скрипта
%% html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
🔗 Python tricks
%% html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.
Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.
🔗 Python tricks
Matplotlib: Круговые диаграммы
Ты можешь использовать функцию pie() для рисования круговых диаграмм.
По умолчанию построение первого сектора начинается с оси X и движется против часовой стрелки. Для изменения начального угла нужно указать параметр startangle. Данный параметр определяется углом в градусах, угол по умолчанию равен 0.
Также ты можешь добавить метки на круговую диаграмму с помощью параметра labels. Параметр labels должен быть массивом с одной меткой для каждого сегмента.
🔗 Python tricks
Ты можешь использовать функцию pie() для рисования круговых диаграмм.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
plt.pie(y)
plt.show()
По умолчанию построение первого сектора начинается с оси X и движется против часовой стрелки. Для изменения начального угла нужно указать параметр startangle. Данный параметр определяется углом в градусах, угол по умолчанию равен 0.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels, startangle = 90)
plt.show()
Также ты можешь добавить метки на круговую диаграмму с помощью параметра labels. Параметр labels должен быть массивом с одной меткой для каждого сегмента.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
plt.pie(y, labels = mylabels)
plt.show()
🔗 Python tricks
Отображение графиков Matplotlib
%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.
🔗 Python tricks
%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.
🔗 Python tricks
Печать в одной строке
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
🔗 Python tricks
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
🔗 Python tricks
Выражения присваивания (Assignment expressions)
Python 3.8
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
🔗 Python tricks
Python 3.8
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
🔗 Python tricks
Подробная информация об объекте
%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?.
🔗 Python tricks
%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?.
🔗 Python tricks
Matplotlib: Круговые диаграммы
С помощью параметра explode ты можешь задать, насколько далеко от центра отображается каждый сегмент.
Для добавления теней используй параметр shadows, придав ему значение True.
Для изменения цвета тебе пригодится параметр colors. Это массив с одним значением для каждого сегмента.
🔗 Python tricks
С помощью параметра explode ты можешь задать, насколько далеко от центра отображается каждый сегмент.
import matplotlib.pyplot as plt
import numpy as np
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, labels = mylabels, explode = myexplode)
plt.show()
Для добавления теней используй параметр shadows, придав ему значение True.
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
myexplode = [0.2, 0, 0, 0]
plt.pie(y, labels = mylabels, explode = myexplode, shadow = True)
plt.show()
Для изменения цвета тебе пригодится параметр colors. Это массив с одним значением для каждого сегмента.
y = np.array([35, 25, 25, 15])
mylabels = ["Apples", "Bananas", "Cherries", "Dates"]
mycolors = ["black", "hotpink", "b", "#4CAF50"]
plt.pie(y, labels = mylabels, colors = mycolors)
plt.show()
🔗 Python tricks
Генератор
Генератор — это итератор, который работает в режиме обработки по необходимости. Мы не будем производить вычисления и сохранять значения сразу, а сделаем их “на лету”, когда будут выполняться итерации.
🔗 Python tricks
generator
— тоже итератор, но его ключевое свойство — ленивые вычисления. Это классическая концепция в информатике, и её переняли многие языки программирования, такие как Haskell. Основная идея этой концепции звучит как вызов-по-необходимости. Отложенные вычисления могут приводить к снижению доступной процессу памяти. Генератор — это итератор, который работает в режиме обработки по необходимости. Мы не будем производить вычисления и сохранять значения сразу, а сделаем их “на лету”, когда будут выполняться итерации.
🔗 Python tricks