Логирование в Python с помощью Logzero. Базовый пример
Импортируем логгер из logzero в файл python и попробуем 4 примера уровней логирования. Как видим, каждый уровень имеет свой цвет, что значительно упрощает его определение.
🔗 Python tricks
Импортируем логгер из logzero в файл python и попробуем 4 примера уровней логирования. Как видим, каждый уровень имеет свой цвет, что значительно упрощает его определение.
🔗 Python tricks
Функция math.gcd()
Функция
Синтаксис:
Аргументы:
Возвращаемое значение:
целое число, являющееся НОД
🔗 Python tricks
Функция
math.gcd()
используется для вычисления наибольшего общего делителя (НОД) двух целых чисел. НОД — это наибольшее число, которое является делителем обоих чисел.Синтаксис:
math.gcd(a, b)
Аргументы:
a
: первое целое числоb
: второе целое числоВозвращаемое значение:
целое число, являющееся НОД
a
и b
🔗 Python tricks
Напишите функцию на Python, которая принимает на вход список чисел и возвращает наибольшую возрастающую подпоследовательность (непоследовательные числа, идущие в порядке возрастания) из исходного списка
Для решения этой задачи используется динамическое программирование. Мы создаем массив
Пример использования:
Эта функция найдет наибольшую возрастающую подпоследовательность из списка
🔗 Python tricks
Для решения этой задачи используется динамическое программирование. Мы создаем массив
dp
, где dp[i]
представляет собой длину наибольшей возрастающей подпоследовательности, заканчивающейся в nums[i]
. Затем мы выполняем двойной цикл, чтобы найти наибольшую длину для каждого элемента. После этого мы определяем саму подпоследовательность, начиная с наибольшей длины и двигаясь обратно по массиву dp
.Пример использования:
python
nums = [3, 12, 5, 8, 10, 2, 1]
result = longest_increasing_subsequence(nums)
print(result) # Output: [3, 5, 8, 10]
Эта функция найдет наибольшую возрастающую подпоследовательность из списка
[3, 12, 5, 8, 10, 2, 1]
, которой будет [3, 5, 8, 10]
, и выведет ее в консоль.🔗 Python tricks
Логирование в Python с помощью Logzero. Установка минимального уровня логирования
Установка уровня логирования предполагает выбор степени важности данного лог-сообщения. Изменить уровень логирования для обработчика файла можно с помощью аргумента loglevel в методе logfile.
В приведенном примере мы установили loglevel как
🔗 Python tricks
Установка уровня логирования предполагает выбор степени важности данного лог-сообщения. Изменить уровень логирования для обработчика файла можно с помощью аргумента loglevel в методе logfile.
В приведенном примере мы установили loglevel как
warning
. Следовательно все лог-записи ниже уровня warning не будут сохранены в лог-файл.🔗 Python tricks
Логирование в Python с помощью Logzero. Ротация лог-файла
Не стоит сохранять все записи в один лог-файл, поскольку он становится массивным и увеличивает нагрузку на систему.
Вы можете использовать параметры maxBytes и backupCount для ротации файла с заранее заданным размером. Когда размер будет превышен, файл закроется, а новый файл для вывода откроется автоматически. Переключение происходит каждый раз, когда длина текущего лог-файла составляет почти maxBytes. Если maxBytes или backupCount равен нулю, переключение не происходит.
🔗 Python tricks
Не стоит сохранять все записи в один лог-файл, поскольку он становится массивным и увеличивает нагрузку на систему.
Вы можете использовать параметры maxBytes и backupCount для ротации файла с заранее заданным размером. Когда размер будет превышен, файл закроется, а новый файл для вывода откроется автоматически. Переключение происходит каждый раз, когда длина текущего лог-файла составляет почти maxBytes. Если maxBytes или backupCount равен нулю, переключение не происходит.
🔗 Python tricks
Узнаем разницу в днях между датами представленными в виде строк
В данном коде мы используем функцию
🔗 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