Python tricks | Хитрости Питона
5.75K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Оператор "or"

При использовании оператор "or" мы проверяем, выполняется ли хотя бы одно из двух условий.

В этом примере мы используем оператор "or" для проверки, идет ли дождь или пользователь взял с собой зонт. Если хотя бы одно из условий истинно, мы считаем, что пользователь готов к дождю. Если же оба условия ложны, мы предупреждаем пользователя, что он может промокнуть.
🔗 Python tricks
mix-in

mix-in — это паттерн проектирования в ООП, когда в цепочку наследования добавляется небольшой класс-помощник. Основная идея mix-in заключается в том, что можно создать класс с определенным функционалом и потом использовать его методы в других классах. Таким образом, mix-in — это способ расширения функциональности классов без явного наследования.

В этом примере мы создали класс Mixin, который содержит метод mixin_method. Затем мы создали класс MyClass, который наследуется от Mixin и содержит свой метод my_method. Объект obj создан на основе класса MyClass и вызывает метод mixin_method, который определен в Mixin.
🔗 Python tricks
Стайлгайд PySpark

Благодаря данной статье ты узнаешь, как правильно оформлять код в PySpark. Таким образом твой код станет более читабельным и удобным для последующих проверок и изменений.

👉Читать статью

🔗 Python tricks
statistics.mean

Функция statistics.mean() используется для вычисления среднего/среднего значения входных значений или набора данных. Функция mean() принимает список, кортеж или набор данных, содержащий числовые значения, в качестве параметра и возвращает среднее значение элементов данных.

🔗 Python tricks
📌 Шпаргалка по Python для Data Science
🔗 Python tricks
Модуль set comprehension

При использовании модуля set comprehension мы создаем новое множество на основе существующего списка или другого итерируемого объекта.

В этом примере мы используем set comprehension для создания нового множества, которое содержит только уникальные элементы из списка.
🔗 Python tricks
Модуль dict comprehension

При использовании dict comprehension мы создаем новый словарь на основе существующего списка или другого итерируемого объекта.

В этом примере мы используем dict comprehension для создания нового словаря, в котором ключами являются числа из исходного списка, а значениями – квадраты этих чисел.
🔗 Python tricks
Исключение с join()

Метод join() полезен при создании строкового представления из итерируемых элементов. Этот метод возвращает новую строку, а исходная строка и итерация остаются неизменными. Используя этот метод, мы можем создать строку CSV, а также строку, разделенную табуляцией.
🔗 Python tricks
file.readline

Метод readline() возвращает одну строку из файла. При необходимости ты можешь указать, сколько байтов из строки нужно вернуть, используя параметр size. В первом примере возвращается первая и вторая строки. Во втором примере выводятся первые 5 байтов из первой строки.

🔗 Python tricks
Библиотека yt-dlp

yt-dlpэто библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.

Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
🔗 Python tricks
Bottleneck

Bottleneck — это библиотека, которая ускоряет работу методов NumPy в 25 раз. Особенно, если массив имеет значения NaN.

В этом примере мы создаём 2D массив NumPy с 1000 строками и 10 столбцами со случайными значениями.

Далее функция move_mean используется для вычисления скользящего среднего для каждой строки в массиве. Параметр window указывает количество значений, которые будут использоваться при вычислении каждого скользящего среднего, а параметр axis указывает ось, вдоль которой будет вычисляться скользящее среднее (в данном случае мы вычисляем его для каждой строки, поэтому устанавливаем axis=1).
🔗 Python tricks
Функция reversed()

При использовании функции reversed() мы получаем обратный порядок элементов в списке.

В этом примере мы используем функцию reversed() для получения списка чисел в обратном порядке.
🔗 Python tricks
🐍Цикл for/else в Python.

Цикл for/else является особенностью Python, которая позволяет выполнить блок кода из else, если цикл for завершается естественным образом (без прерывания с помощью оператора break).

🔗 Python tricks
Константы модуля cmath

В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
🔗 Python tricks
Функции, поддерживающие только именованные аргументы (kwargs)

**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.

В функциях после позиционных и обычных именованных аргументов указывают параметр **kwargs.

В kwargs передаются аргументы в виде ключ-значение. Внутри функции kwargs становится словарем, где ключи — имена аргументов, значения — значения аргументов.
Благодаря этому через kwargs можно передать любое количество дополнительных аргументов в функцию.

Если одновременно используются *args и **kwargs, то в вызове сначала указываются *args.

🔗 Python tricks
Атрибут __slots__

Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса.

__slots__ определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__ могут иметь атрибуты только с именами, определенными в __slots__. Попытка создать новый атрибут приведет к ошибке.

Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.

__slots__ не наследуются, для каждого подкласса нужно определять свои слоты.

Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.

🔗 Python tricks
collections.MutableMapping

Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear.

Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь.
Например, во многих функциях в стандартной библиотеке есть параметры типа dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.
🔗 Python tricks