Plumbum
Она упрощает автоматизацию задач, которые требуют вызова командной строки из\ кода. Это может быть запуск скриптов, утилит, вызов программ для обработки данных и т. д.
Основные возможности библиотеки:
— Удобный синтаксис для запуска команд и программ из Python кода. Позволяет вызывать команды командной строки так же просто, как обычные функции.
— Автоматическое формирование командной строки. Можно передавать аргументы и параметры в виде обычных переменных,
— Перенаправление ввода/вывода. Поддержка стандартных операторов Unix для работы с потоками данных.
— Проверка кодов возврата и обработка ошибок.
— Локальное или удаленное выполнение. Возможность запускать команды как локально, так и по SSH на удаленных хостах.
🔗 Python tricks
Plumbum
— это библиотека, предназначенная для упрощения работы с командной строкой и вызова внешних программ. Она упрощает автоматизацию задач, которые требуют вызова командной строки из\ кода. Это может быть запуск скриптов, утилит, вызов программ для обработки данных и т. д.
Основные возможности библиотеки:
— Удобный синтаксис для запуска команд и программ из Python кода. Позволяет вызывать команды командной строки так же просто, как обычные функции.
— Автоматическое формирование командной строки. Можно передавать аргументы и параметры в виде обычных переменных,
Plumbum
сам сформирует командную строку.— Перенаправление ввода/вывода. Поддержка стандартных операторов Unix для работы с потоками данных.
— Проверка кодов возврата и обработка ошибок.
— Локальное или удаленное выполнение. Возможность запускать команды как локально, так и по SSH на удаленных хостах.
🔗 Python tricks
Логические all и any
Встроенные функции
Эти функции могут использоваться для проверки каких-либо условий на всём наборе данных.
Например, проверить, что все числа больше нуля, или что хотя бы одно число больше 10.
Важные моменты:
— Для пустых
— Элемент считается ложным, если его
— Функции останавливаются при первом ложном (для
🔗 Python tricks
Встроенные функции
all()
и any()
, которые применяются к последовательностям (спискам, кортежам и т. д.) и возвращают bool
значение.all(iterable)
— возвращает True
, если все элементы iterable
истинны (или iterable
пуст).any(iterable)
— возвращает True
, если хотя бы один элемент iterable
истинен.Эти функции могут использоваться для проверки каких-либо условий на всём наборе данных.
Например, проверить, что все числа больше нуля, или что хотя бы одно число больше 10.
Важные моменты:
— Для пустых
iterable all()
вернёт True
, а any()
— False
.— Элемент считается ложным, если его
bool()
равен False
.— Функции останавливаются при первом ложном (для
all
) или истинном (для any
) элементе.🔗 Python tricks
Использование with для работы с файлами
Когда вы работаете с файлами в Python, важно не забыть закрыть файл после завершения работы с ним. Использование конструкции with позволяет автоматически управлять ресурсами, такими как файлы, и гарантирует, что они будут закрыты, даже если произойдет ошибка.
Использование конструкции with делает код более чистым и безопасным, снижая вероятность ошибок и утечек ресурсов.
🔗 Python tricks
Когда вы работаете с файлами в Python, важно не забыть закрыть файл после завершения работы с ним. Использование конструкции with позволяет автоматически управлять ресурсами, такими как файлы, и гарантирует, что они будут закрыты, даже если произойдет ошибка.
Использование конструкции with делает код более чистым и безопасным, снижая вероятность ошибок и утечек ресурсов.
🔗 Python tricks
Использование f-строк для форматирования строк
f-строки, доступные в Python 3.6 и выше, позволяют легко и удобно форматировать строки, внедряя в них значения переменных. Это делает код более читаемым и уменьшает количество ошибок при форматировании.
Использование f-строк значительно улучшает процесс работы со строками в Python и делает код более чистым и понятным.
🔗 Python tricks
f-строки, доступные в Python 3.6 и выше, позволяют легко и удобно форматировать строки, внедряя в них значения переменных. Это делает код более читаемым и уменьшает количество ошибок при форматировании.
Использование f-строк значительно улучшает процесс работы со строками в Python и делает код более чистым и понятным.
🔗 Python tricks
Использование collections.Counter для подсчета элементов в списке
Модуль collections в Python предоставляет класс Counter, который удобно подсчитывает количество вхождений элементов в итерируемом объекте, таком как список или строка. Это позволяет быстро анализировать данные без написания сложного кода.
Использование Counter делает процесс анализа данных более эффективным и удобным, избавляя вас от необходимости писать циклы и дополнительные условные операторы.
🔗 Python tricks
Модуль collections в Python предоставляет класс Counter, который удобно подсчитывает количество вхождений элементов в итерируемом объекте, таком как список или строка. Это позволяет быстро анализировать данные без написания сложного кода.
Использование Counter делает процесс анализа данных более эффективным и удобным, избавляя вас от необходимости писать циклы и дополнительные условные операторы.
🔗 Python tricks
Использование itertools.groupby для группировки данных
Модуль itertools в Python предоставляет множество полезных функций для работы с итераторами. Одна из них — groupby, которая позволяет группировать последовательности данных по ключу. Это может быть особенно полезно для анализа и обработки данных.
Использование itertools.groupby позволяет значительно упростить код для группировки данных и сделать его более читабельным.
🔗 Python tricks
Модуль itertools в Python предоставляет множество полезных функций для работы с итераторами. Одна из них — groupby, которая позволяет группировать последовательности данных по ключу. Это может быть особенно полезно для анализа и обработки данных.
Использование itertools.groupby позволяет значительно упростить код для группировки данных и сделать его более читабельным.
🔗 Python tricks
Использование defaultdict из модуля collections
Модуль collections в Python предлагает полезные структуры данных, одной из которых является defaultdict. Эта структура позволяет автоматически инициализировать значения в словаре для новых ключей, что упрощает код и делает его более читаемым.
Использование defaultdict позволяет избежать необходимости предварительной проверки существования ключа в словаре, что делает код более чистым и эффективным.
🔗 Python tricks
Модуль collections в Python предлагает полезные структуры данных, одной из которых является defaultdict. Эта структура позволяет автоматически инициализировать значения в словаре для новых ключей, что упрощает код и делает его более читаемым.
Использование defaultdict позволяет избежать необходимости предварительной проверки существования ключа в словаре, что делает код более чистым и эффективным.
🔗 Python tricks
Атрибут __all__
Атрибут
Этот атрибут должен содержать список имен, которые будут экспортированы.
Если
Использование
Это способствует лучшей структуре кода и предотвращает неожиданный экспорт внутренних элементов модуля.
Проще говоря,
🔗 Python tricks
Атрибут
__all__
используется для контроля того, какие элементы модуля экспортируются при импорте с помощью from module import *
.Этот атрибут должен содержать список имен, которые будут экспортированы.
Если
__all__
не определен, то при импорте будут экспортированы все имена, не начинающиеся с _
. Использование
__all__
позволяет явно указать автору модуля, какие части модуля являются публичным API, а какие — внутренней реализацией. Это способствует лучшей структуре кода и предотвращает неожиданный экспорт внутренних элементов модуля.
Проще говоря,
__all__
— это простой механизм контроля области видимости при импорте. Он помогает организовать чистый публичный интерфейс модуля.🔗 Python tricks
Argcomplete
Она позволяет легко добавить автодополнение для
Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию
Основные возможности
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.
🔗 Python tricks
Argcomplete
— это библиотека для автодополнения аргументов командной строки. Она позволяет легко добавить автодополнение для
argparse
в интерактивных оболочках (например, bash, zsh). Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию
argparse
декоратором @argcomplete.register
.Основные возможности
argcomplete
:— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.
🔗 Python tricks
Библиотека yt-dlp
Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
🔗 Python tricks
yt-dlp
— это библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов. Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.
🔗 Python tricks
Функции, поддерживающие только именованные аргументы (kwargs)
**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.
В функциях после позиционных и обычных именованных аргументов указывают параметр
В
Благодаря этому через
Если одновременно используются
🔗 Python tricks
**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.
В функциях после позиционных и обычных именованных аргументов указывают параметр
**kwargs
.В
kwargs
передаются аргументы в виде ключ-значение. Внутри функции kwargs
становится словарем, где ключи — имена аргументов, значения — значения аргументов. Благодаря этому через
kwargs
можно передать любое количество дополнительных аргументов в функцию.Если одновременно используются
*args
и **kwargs
, то в вызове сначала указываются *args
.🔗 Python tricks
Атрибут __slots__
Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса.
Использование
Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.
🔗 Python tricks
Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса.
__slots__
определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__
могут иметь атрибуты только с именами, определенными в __slots__
. Попытка создать новый атрибут приведет к ошибке.Использование
__slots__
экономит память, так как экземпляры не создают словарь __dict__
для атрибутов.__slots__
не наследуются, для каждого подкласса нужно определять свои слоты.Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.
🔗 Python tricks
collections.MutableMapping
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Основное преимущество в использовании
Например, во многих функциях в стандартной библиотеке есть параметры типа
🔗 Python tricks
Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса
Mapping
и добавляет методы для изменения отображения, такие как __setitem__
, __delitem__
и clear
. Основное преимущество в использовании
MutableMapping
— это возможность передавать экземпляры такого класса в любое API, ожидающее словарь. Например, во многих функциях в стандартной библиотеке есть параметры типа
dict
. Если создать класс, реализующий MutableMapping
, его экземпляры можно будет передавать в такие функции.🔗 Python tricks
collections.Counter
Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.
Основное отличие
Основные способы использования
— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.
🔗 Python tricks
Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.
Основное отличие
Counter
от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов.Counter
может принимать на вход любую итерируемую последовательность (список, кортеж и т.д.).Основные способы использования
Counter
:— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.
🔗 Python tricks
Метод isspace()
Метод isspace() проверяет, является ли символ пробельным.
Пробельными символами считаются:
— Пробел (
— Табуляция (
— Перевод строки (
— Перевод каретки (
— Прочие unicode символы, определяемые как пробелы.
Этот метод удобно использовать для проверки и обработки строк.
🔗 Python tricks
Метод isspace() проверяет, является ли символ пробельным.
Пробельными символами считаются:
— Пробел (
' '
).— Табуляция (
'\t'
).— Перевод строки (
'\n'
).— Перевод каретки (
'\r'
).— Прочие unicode символы, определяемые как пробелы.
isspace()
возвращает True
, если символ пробельный, и False
в противном случае.Этот метод удобно использовать для проверки и обработки строк.
🔗 Python tricks
Метод id()
Метод id() возвращает уникальный идентификатор объекта.
Каждый объект в Python имеет свой идентификатор, который назначается при создании объекта. Этот идентификатор гарантированно уникален в пределах жизни объекта.
🔗 Python tricks
Метод id() возвращает уникальный идентификатор объекта.
Каждый объект в Python имеет свой идентификатор, который назначается при создании объекта. Этот идентификатор гарантированно уникален в пределах жизни объекта.
id()
позволяет получить числовое представление идентификатора объекта. Это может быть полезно при отладке и тестировании программы.🔗 Python tricks
Библиотека xarray
xarray предназначена для работы с многомерными данными и массивами.
Она позволяет удобно хранить и обрабатывать данные с метаданными, такими как координаты, время и другие измерения.
Основные преимущества
В этом примере создана
🔗 Python tricks
xarray предназначена для работы с многомерными данными и массивами.
Она позволяет удобно хранить и обрабатывать данные с метаданными, такими как координаты, время и другие измерения.
Xarray
часто используется в научных вычислениях и анализе данных, особенно при работе с геопространственными данными, временными рядами, метеоданными и другой многомерной информацией. Основные преимущества
xarray
— это возможность помечать оси данных и выполнять операции по этим осям, легкость совместного использования данных и метаданных.В этом примере создана
DataArray
со случайными данными размерностей 2x3. Для осей заданы метки "city" и "year". Это позволяет легко обращаться к данным по городам и годам. Xarray
сохраняет метаданные вместе с данными.🔗 Python tricks
Библиотека igraph
igraph предназначена для работы с графами и сетями. Она позволяет строить, анализировать и визуализировать графы.
Основные возможности
🔗 Python tricks
igraph предназначена для работы с графами и сетями. Она позволяет строить, анализировать и визуализировать графы.
Igraph
часто используется при анализе социальных сетей, изучении структуры больших сетей (например, ссылок в интернете), в биоинформатике для анализа взаимодействий белков и других задач, связанных с теорией графов. Основные возможности
igraph
— генерация случайных и классических графов, вычисление различных метрик (степени вершин, диаметра графа и т. д.), поиск сообществ и кластеров.🔗 Python tricks
Метод Counter.elements()
Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря
Как видно из примера, метод
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.
🔗 Python tricks
Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря
Counter
без создания копии.Как видно из примера, метод
elements()
возвращает итератор по элементам словаря Counter
в порядке их добавления. Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.
🔗 Python tricks
Использование f-строк для форматирования строк
С версии Python 3.6 в языке появились так называемые f-строки (или формируемые строки), которые позволяют более удобным и читаемым образом форматировать строки. Это особенно полезно, когда вам нужно вставить переменные или выражения прямо в строку.
Использование f-строк упрощает процесс создания строк с динамическими данными и делает код более интуитивно понятным.
🔗 Python tricks
С версии Python 3.6 в языке появились так называемые f-строки (или формируемые строки), которые позволяют более удобным и читаемым образом форматировать строки. Это особенно полезно, когда вам нужно вставить переменные или выражения прямо в строку.
Использование f-строк упрощает процесс создания строк с динамическими данными и делает код более интуитивно понятным.
🔗 Python tricks
Использование zip для объединения списков
Функция zip в Python позволяет объединять несколько списков в один, создавая пары элементов. Это особенно полезно, когда вы хотите обрабатывать данные из нескольких списков одновременно, например, при работе с данными, где у вас есть связанные списки (например, имена и возраст).
Использование zip позволяет легко и эффективно объединять данные, делая код более понятным и лаконичным.
🔗 Python tricks
Функция zip в Python позволяет объединять несколько списков в один, создавая пары элементов. Это особенно полезно, когда вы хотите обрабатывать данные из нескольких списков одновременно, например, при работе с данными, где у вас есть связанные списки (например, имена и возраст).
Использование zip позволяет легко и эффективно объединять данные, делая код более понятным и лаконичным.
🔗 Python tricks