LineaPy
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
🔗 Python tricks
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
🔗 Python tricks
Композиция (ассоциация) классов
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
🔗 Python tricks
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
🔗 Python tricks
Атрибуты объектов
Атрибуты — это переменные, связанные с объектом класса и хранящие его данные.
Они объявляются внутри класса, а доступ к атрибутам происходит через точку после объекта (object.attr). Бывают public, приватными (__attr) и защищенными (_attr). Публичные атрибуты доступны везде, приватные только в классе, защищенные в классе и дочерних.
Значение по умолчанию None, если не задано другое.
Атрибуты можно создать в конструкторе init() и изменить в методах класса, а новые атрибуты к объектам можно добавлять в рантайме.
🔗 Python tricks
Атрибуты — это переменные, связанные с объектом класса и хранящие его данные.
Они объявляются внутри класса, а доступ к атрибутам происходит через точку после объекта (object.attr). Бывают public, приватными (__attr) и защищенными (_attr). Публичные атрибуты доступны везде, приватные только в классе, защищенные в классе и дочерних.
Значение по умолчанию None, если не задано другое.
Атрибуты можно создать в конструкторе init() и изменить в методах класса, а новые атрибуты к объектам можно добавлять в рантайме.
🔗 Python tricks
Duck typing (утиная типизация)
Duck typing — это концепция, позволяющая использовать объекты независимо от их типа, базируясь на их свойствах и методах.
Основная идея — не проверять тип объекта напрямую, а пытаться использовать его так, как нам нужно.
Преимущества:
— Нет необходимости привязываться к конкретным классам и типам.
— Код становится более гибким и менее связанным.
— Легче расширять и изменять код, добавляя новые типы.
— Упрощает полиморфизм.
🔗 Python tricks
Duck typing — это концепция, позволяющая использовать объекты независимо от их типа, базируясь на их свойствах и методах.
Основная идея — не проверять тип объекта напрямую, а пытаться использовать его так, как нам нужно.
Преимущества:
— Нет необходимости привязываться к конкретным классам и типам.
— Код становится более гибким и менее связанным.
— Легче расширять и изменять код, добавляя новые типы.
— Упрощает полиморфизм.
🔗 Python tricks
next
Функция next() возвращает следующий элемент итератора. Если итератор исчерпан, он возвращает значение по умолчанию, переданное в качестве аргумента. Если параметр по умолчанию не указан и итератор исчерпан, возникает исключение StopIteration.
🔗 Python tricks
Функция next() возвращает следующий элемент итератора. Если итератор исчерпан, он возвращает значение по умолчанию, переданное в качестве аргумента. Если параметр по умолчанию не указан и итератор исчерпан, возникает исключение StopIteration.
🔗 Python tricks
Валидные значения словаря
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
🔗 Python tricks
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
🔗 Python tricks
Библиотека Colorama
Нашему глазу будет очень легко зацепиться за неверное состояние, если оно в консоли при выводе будет выделено цветом. Примеров, полагаю, можно привести еще достаточно, где данное нововведение сыграло бы хоть малейшую роль. Что ж, даже для цветного вывода в консоль найдется свой модуль, а именно библиотека с названием Colorama.
🔗 Python tricks
Нашему глазу будет очень легко зацепиться за неверное состояние, если оно в консоли при выводе будет выделено цветом. Примеров, полагаю, можно привести еще достаточно, где данное нововведение сыграло бы хоть малейшую роль. Что ж, даже для цветного вывода в консоль найдется свой модуль, а именно библиотека с названием Colorama.
🔗 Python tricks
pprint
Ни для кого не будет новостью, что при написании кода очень часто используется функцию print(). И все замечательно, когда нужно вывести небольшой объем информации, например, состояние булевой переменной. Но что, если нам нужно, допустим, вывести в консоль лист, в котором каждый элемент хранит в себе еще несколько состояний. Наглядно вывести подобную информацию с помощью одной строки кода, используя print(), уже не получится. Здесь нам с приятным для восприятия выводом поможет модуль pprint, он же Pretty Printer.
🔗 Python tricks
Ни для кого не будет новостью, что при написании кода очень часто используется функцию print(). И все замечательно, когда нужно вывести небольшой объем информации, например, состояние булевой переменной. Но что, если нам нужно, допустим, вывести в консоль лист, в котором каждый элемент хранит в себе еще несколько состояний. Наглядно вывести подобную информацию с помощью одной строки кода, используя print(), уже не получится. Здесь нам с приятным для восприятия выводом поможет модуль pprint, он же Pretty Printer.
🔗 Python tricks
Профилирование
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
🔗 Python tricks
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
🔗 Python tricks
string.replace
Метод replace() заменяет каждое соответствующее вхождение подстроки другой строкой. При необходимости ты можешь задать, сколько раз ты хочешь заменить исходную строку новой строкой. Если не указывать данное число, заменятся все вхождения.
🔗 Python tricks
Метод replace() заменяет каждое соответствующее вхождение подстроки другой строкой. При необходимости ты можешь задать, сколько раз ты хочешь заменить исходную строку новой строкой. Если не указывать данное число, заменятся все вхождения.
🔗 Python tricks
Модуль howdoi
Модуль howdoi поможет найти ответ на многие основные вопросы, связанные с кодом, при этом весь процесс «вопрос-ответ» полностью происходит в консоли. Как же это работает? Модуль сравнивает Ваш вопрос с вопросами на сайте StackOverflow и предлагает Вам варианты кода из лучших ответов с данного ресурса.
🔗 Python tricks
Модуль howdoi поможет найти ответ на многие основные вопросы, связанные с кодом, при этом весь процесс «вопрос-ответ» полностью происходит в консоли. Как же это работает? Модуль сравнивает Ваш вопрос с вопросами на сайте StackOverflow и предлагает Вам варианты кода из лучших ответов с данного ресурса.
🔗 Python tricks
Конкатенация строк
Если нужно конкатенировать список строк, сделать это можно в цикле
Более эффективный подход к решению этой задачи заключается в использовании функции
Если нужно конкатенировать список строк, сделать это можно в цикле
for
, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку.Более эффективный подход к решению этой задачи заключается в использовании функции
join()
🔗 Python tricksСловарь и set comprehensions
Словарю нужны ключ и значение.
Определяем ключ и значение в expression.
Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
🔗 Python tricks
Словарю нужны ключ и значение.
Определяем ключ и значение в expression.
Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
🔗 Python tricks
whylogs
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
🔗 Python tricks
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
🔗 Python tricks
Точка входа в программу
Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.
Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.
Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля.
🔗 Python tricks
Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.
Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.
Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля.
🔗 Python tricks
Переименование файлов в Python
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
🔗 Python tricks
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
🔗 Python tricks
Тернарный оператор
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
— Для присваивания переменной
🔗 Python tricks
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
a > b
.— Для присваивания переменной
result
одного из двух значений в зависимости от четности a
.🔗 Python tricks
Оператор pass
Оператор
Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
— Пустые блоки в циклах. Вместо тела цикла можно написать
— Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
🔗 Python tricks
Оператор
pass
— это особая конструкция, которая не делает ничего. Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
pass
, чтобы код был допустимым синтаксически.— Пустые блоки в циклах. Вместо тела цикла можно написать
pass
, если на данном этапе нет необходимости выполнять какие-либо действия. — Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
pass
.— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
🔗 Python tricks
raise
Конструкция
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
Например:
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
🔗 Python tricks
Конструкция
raise
используется для генерации исключений.Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
raise
.Например:
raise ValueError('Invalid value')Здесь мы генерируем исключение ValueError с сообщением об ошибке.
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
calculate_discount
проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise
генерируется исключение ValueError с сообщением.🔗 Python tricks
string.isnumeric
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
🔗 Python tricks
Метод isnumeric() проверяет, все ли символы в строке являются числовыми. Возвращает True, если все символы являются числовыми. В противном случае – False. В данном примере для symbol number возвращается True, так как “012345” являются числами. Для text возвращается False.
🔗 Python tricks