Python tricks | Хитрости Питона
Open in Telegram
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Show more6 053
Subscribers
No data24 hours
-117 days
-5930 days
Posts Archive
Атрибут __slots__
Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса.
__slots__ определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__ могут иметь атрибуты только с именами, определенными в __slots__. Попытка создать новый атрибут приведет к ошибке.
Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.
__slots__ не наследуются, для каждого подкласса нужно определять свои слоты.
Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.
🔗 Python tricksФункции, поддерживающие только именованные аргументы (kwargs)
**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.
В функциях после позиционных и обычных именованных аргументов указывают параметр
**kwargs.
В kwargs передаются аргументы в виде ключ-значение. Внутри функции kwargs становится словарем, где ключи — имена аргументов, значения — значения аргументов.
Благодаря этому через kwargs можно передать любое количество дополнительных аргументов в функцию.
Если одновременно используются *args и **kwargs, то в вызове сначала указываются *args.
🔗 Python tricksКонстанты модуля cmath
В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
🔗 Python tricks
🐍Цикл for/else в Python.
Цикл
for/else является особенностью Python, которая позволяет выполнить блок кода из else, если цикл for завершается естественным образом (без прерывания с помощью оператора break).
🔗 Python tricksФункция reversed()
При использовании функции reversed() мы получаем обратный порядок элементов в списке.
В этом примере мы используем функцию reversed() для получения списка чисел в обратном порядке.
🔗 Python tricks
Bottleneck
Bottleneck — это библиотека, которая ускоряет работу методов NumPy в 25 раз. Особенно, если массив имеет значения NaN.
В этом примере мы создаём 2D массив NumPy с 1000 строками и 10 столбцами со случайными значениями.
Далее функция move_mean используется для вычисления скользящего среднего для каждой строки в массиве. Параметр window указывает количество значений, которые будут использоваться при вычислении каждого скользящего среднего, а параметр axis указывает ось, вдоль которой будет вычисляться скользящее среднее (в данном случае мы вычисляем его для каждой строки, поэтому устанавливаем axis=1).
🔗 Python tricks
Библиотека yt-dlp
yt-dlp — это библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.
Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
🔗 Python tricksfile.readline
Метод readline() возвращает одну строку из файла. При необходимости ты можешь указать, сколько байтов из строки нужно вернуть, используя параметр size. В первом примере возвращается первая и вторая строки. Во втором примере выводятся первые 5 байтов из первой строки.
🔗 Python tricks
Исключение с join()
Метод join() полезен при создании строкового представления из итерируемых элементов. Этот метод возвращает новую строку, а исходная строка и итерация остаются неизменными. Используя этот метод, мы можем создать строку CSV, а также строку, разделенную табуляцией.
🔗 Python tricks
Модуль dict comprehension
При использовании dict comprehension мы создаем новый словарь на основе существующего списка или другого итерируемого объекта.
В этом примере мы используем dict comprehension для создания нового словаря, в котором ключами являются числа из исходного списка, а значениями – квадраты этих чисел.
🔗 Python tricks
Модуль set comprehension
При использовании модуля set comprehension мы создаем новое множество на основе существующего списка или другого итерируемого объекта.
В этом примере мы используем set comprehension для создания нового множества, которое содержит только уникальные элементы из списка.
🔗 Python tricks
Блоки finally и else
Благодаря данному видео ты узнаешь, что такое необязательные блоки finally и else, для чего они нужны и как работают. Продемонстрированы примеры использования блока finally в том числе и внутри функций.
• Перейти к просмотру
🔗 Python tricks
statistics.mean
Функция statistics.mean() используется для вычисления среднего/среднего значения входных значений или набора данных. Функция mean() принимает список, кортеж или набор данных, содержащий числовые значения, в качестве параметра и возвращает среднее значение элементов данных.
🔗 Python tricks
Стайлгайд PySpark
Благодаря данной статье ты узнаешь, как правильно оформлять код в PySpark. Таким образом твой код станет более читабельным и удобным для последующих проверок и изменений.
👉Читать статью
🔗 Python tricks
mix-in
mix-in — это паттерн проектирования в ООП, когда в цепочку наследования добавляется небольшой класс-помощник. Основная идея mix-in заключается в том, что можно создать класс с определенным функционалом и потом использовать его методы в других классах. Таким образом, mix-in — это способ расширения функциональности классов без явного наследования.
В этом примере мы создали класс Mixin, который содержит метод mixin_method. Затем мы создали класс MyClass, который наследуется от Mixin и содержит свой метод my_method. Объект obj создан на основе класса MyClass и вызывает метод mixin_method, который определен в Mixin.
🔗 Python tricks
Оператор "or"
При использовании оператор "or" мы проверяем, выполняется ли хотя бы одно из двух условий.
В этом примере мы используем оператор "or" для проверки, идет ли дождь или пользователь взял с собой зонт. Если хотя бы одно из условий истинно, мы считаем, что пользователь готов к дождю. Если же оба условия ложны, мы предупреждаем пользователя, что он может промокнуть.
🔗 Python tricks
Атрибут __all__
Атрибут__all__
используется для контроля того, какие элементы модуля экспортируются при импорте с помощью
from module import *.
Этот атрибут должен содержать список имен, которые будут экспортированы.
Если all не определен, то при импорте будут экспортированы все имена, не начинающиеся с _.
Использование all позволяет явно указать автору модуля, какие части модуля являются публичным API, а какие — внутренней реализацией.
Это способствует лучшей структуре кода и предотвращает неожиданный экспорт внутренних элементов модуля.
Проще говоря, all — это простой механизм контроля области видимости при импорте. Он помогает организовать чистый публичный интерфейс модуля.
🔗 Python tricks