Pygal
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
🔗 Python tricks
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
🔗 Python tricks
List Comprehensions
List comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом. Простейший пример заполнения списка последовательностью чисел.
🔗 Python tricks
List comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом. Простейший пример заполнения списка последовательностью чисел.
🔗 Python tricks
Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом.
🔗 Python tricks
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом.
🔗 Python tricks
Удаление префиксов и суффиксов
Методы .removeprefix() и .removesuffix() служат для удаления префикса или суффикса из строки соответственно. Эти методы были добавлены в Python 3.9.
Методы возвращают новую строку без указанного префикса или суффикса. Исходная строка не изменяется.
Если строка не начинается/заканчивается на указанный префикс/суффикс, возвращается копия исходной строки.
Методы вызывают исключение ValueError, если префикс/суффикс пустой.
🔗 Python tricks
Методы .removeprefix() и .removesuffix() служат для удаления префикса или суффикса из строки соответственно. Эти методы были добавлены в Python 3.9.
Методы возвращают новую строку без указанного префикса или суффикса. Исходная строка не изменяется.
Если строка не начинается/заканчивается на указанный префикс/суффикс, возвращается копия исходной строки.
Методы вызывают исключение ValueError, если префикс/суффикс пустой.
🔗 Python tricks
Ruff
Ruff - это линтер для проверки качества кода.
Он помогает обнаруживать ошибки, следовать стилистическим рекомендациям и в целом писать более чистый и читаемый код.
Ruff можно использовать для проверки как отдельных файлов, так и целых проектов.
🔗 Python tricks
Ruff - это линтер для проверки качества кода.
Он помогает обнаруживать ошибки, следовать стилистическим рекомендациям и в целом писать более чистый и читаемый код.
Ruff можно использовать для проверки как отдельных файлов, так и целых проектов.
🔗 Python tricks
Аннотация типов
Аннотации типов (type hints) позволяют указать ожидаемые типы аргументов функций и возвращаемых значений. Они были введены в Python 3.5.
Аннотации типов не проверяются во время выполнения кода. Это просто подсказки для разработчиков и инструментов статического анализа кода.
Поддерживаются встроенные типы (int, float, str, bool и т.д.), а также классы, списки, словари и кортежи с указанием типов внутри.
Для необязательных аргументов используется Optional[] (например, Optional[int]).
Для возвращения нескольких типов можно использовать Union (например, Union[int, str]).
🔗 Python tricks
Аннотации типов (type hints) позволяют указать ожидаемые типы аргументов функций и возвращаемых значений. Они были введены в Python 3.5.
Аннотации типов не проверяются во время выполнения кода. Это просто подсказки для разработчиков и инструментов статического анализа кода.
Поддерживаются встроенные типы (int, float, str, bool и т.д.), а также классы, списки, словари и кортежи с указанием типов внутри.
Для необязательных аргументов используется Optional[] (например, Optional[int]).
Для возвращения нескольких типов можно использовать Union (например, Union[int, str]).
🔗 Python tricks
set.intersection
Метод intersection() возвращает новое множество с элементами, общими для всех множеств. Если аргумент не передается в intersection(), он возвращает поверхностную копию множества (A).
🔗 Python tricks
Метод intersection() возвращает новое множество с элементами, общими для всех множеств. Если аргумент не передается в intersection(), он возвращает поверхностную копию множества (A).
🔗 Python tricks
Проверка необходимой версии Python
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
🔗 Python tricks
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
🔗 Python tricks
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
🔗 Python tricks
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
🔗 Python tricks
Memray
Memray - это библиотека для профилирования памяти и она является важным инструментом оптимизации производительности Python программ.
Библиотека отслеживает выделение и освобождение памяти при работе программы, поддерживает отслеживание ссылок на объект, применятся для профилирования на серверах и в виртуальных окружениях.
В примере мы используем декоратор memray.profile, который будет отслеживать все выделение и освобождение памяти внутри функции my_func().
При запуске этого кода memray выведет отчёт.
🔗 Python tricks
Memray - это библиотека для профилирования памяти и она является важным инструментом оптимизации производительности Python программ.
Библиотека отслеживает выделение и освобождение памяти при работе программы, поддерживает отслеживание ссылок на объект, применятся для профилирования на серверах и в виртуальных окружениях.
В примере мы используем декоратор memray.profile, который будет отслеживать все выделение и освобождение памяти внутри функции my_func().
При запуске этого кода memray выведет отчёт.
🔗 Python tricks
object
object - это встроенный класс, от него наследуются сразу все новые классы, если явно не указан другой базовый класс.
У объектов класса object есть методы init, str, repr и другие. Их можно переопределять в дочерних классах.
Атрибуты класса объявляются внутри класса, но вне всех методов. Атрибуты экземпляра объявляются в init.
Чтобы использовать класс object в своем коде, достаточно создать класс, унаследованный от object.
🔗 Python tricks
object - это встроенный класс, от него наследуются сразу все новые классы, если явно не указан другой базовый класс.
У объектов класса object есть методы init, str, repr и другие. Их можно переопределять в дочерних классах.
Атрибуты класса объявляются внутри класса, но вне всех методов. Атрибуты экземпляра объявляются в init.
Чтобы использовать класс object в своем коде, достаточно создать класс, унаследованный от object.
🔗 Python tricks
Возврат нескольких значений
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
🔗 Python tricks
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
Здесь возвращается кортеж. С тем же эффектом можно было бы написать return (name, birthdate).
Это нормально для ограниченного количества возвращаемых значений. Но все, что превышает 3 значения, должно быть помещено в класс (data).
🔗 Python tricks
Объединение словарей
Начиная с Python 3.5, стало проще объединять словари.
Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.
🔗 Python tricks
Начиная с Python 3.5, стало проще объединять словари.
Если встречаются дублирующиеся ключи – в первом словаре они будут перезаписаны.
🔗 Python tricks
Protocol
Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8.
Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс.
Сейчас используется в основном в стандартной библиотеке.
На изображении предоставлен пример использования Protocol для определения простого протокола логгирования.
🔗 Python tricks
Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8.
Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс.
Сейчас используется в основном в стандартной библиотеке.
На изображении предоставлен пример использования Protocol для определения простого протокола логгирования.
🔗 Python tricks
Метод count()
count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. Полезен при подсчете статистики, анализе данных и других задачах.
Метод принимает в качестве аргумента элемент, количество которого нужно посчитать и возвращает число - количество найденных вхождений элемента.
Работает для списков, кортежей, строк.
🔗 Python tricks
count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. Полезен при подсчете статистики, анализе данных и других задачах.
Метод принимает в качестве аргумента элемент, количество которого нужно посчитать и возвращает число - количество найденных вхождений элемента.
Работает для списков, кортежей, строк.
🔗 Python tricks
Breakpoint
Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика.
breakpoint ставится в строке кода, где нужен останов для проверки значений. При достижении breakpoint программа приостанавливается, после чего можно изучить ее состояние.
При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y.
🔗 Python tricks
Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика.
breakpoint ставится в строке кода, где нужен останов для проверки значений. При достижении breakpoint программа приостанавливается, после чего можно изучить ее состояние.
При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y.
🔗 Python tricks
list.count
Метод count() возвращает количество раз, когда указанный элемент появляется в списке. В качестве элемента ты можешь использовать строку, число, список, кортеж и многое другое.
🔗 Python tricks
Метод count() возвращает количество раз, когда указанный элемент появляется в списке. В качестве элемента ты можешь использовать строку, число, список, кортеж и многое другое.
🔗 Python tricks
Нарезка списка
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
• 0 для start;
• конец списка для stop;
• 1 для step.
🔗 Python tricks
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
• 0 для start;
• конец списка для stop;
• 1 для step.
🔗 Python tricks
Использование памяти
С помощью sys.getsizeof() можно проверить использование памяти объектом.
Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.
🔗 Python tricks
С помощью sys.getsizeof() можно проверить использование памяти объектом.
Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.
🔗 Python tricks
Обязательные аргументы
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми.
🔗 Python tricks
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми.
🔗 Python tricks