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
Стайлгайд 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
Eli5

Библиотека eli5 используется для анализа и интерпретации результатов моделей машинного обучения. Она работает с такими библиотеками, как: Scikit-learn, XGBoost, CatBoost, Keras, lightning и LightGBM.

В этом примере мы загружаем датасет Бостон из библиотеки sklearn, разбиваем его на обучающую и тестовую выборки и строим модель линейной регрессии.
Затем мы используем функцию show_weights из библиотеки eli5 для отображения весов линейной регрессии.

eli5 может помочь понять, какие признаки важны для модели и как они влияют на предсказания. Это может быть полезно для улучшения качества моделей и для объяснения их работы другим людям.
🔗 Python tricks
collections.Counter

Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.

Основное отличие Counter от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов.
Counter может принимать на вход любую итерируемую последовательность (список, кортеж и т.д.).

Основные способы использования Counter:
— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.
🔗 Python tricks