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
Выводим повторяющиеся элементы и количество их повторений
Функция groupby() позволяет получить повторяющиеся элементы в итераторе и сгруппировать их.
🔗 Python tricks
swapcase
Метод swapcase() возвращает строку, преобразуя все символы в противоположный регистр (прописные буквы в строчные и наоборот). В приведенном выше примере мы использовали метод swapcase() для преобразования символов нижнего регистра в верхний регистр и наоборот.
🔗 Python tricks
Константы пакета string
В Python есть несколько полезных констант в пакете
string, которые нужно знать начинающему программисту:
— string.ascii_letters: строка со всеми буквами английского алфавита (строчными и прописными).
— string.digits: строка со всеми цифрами.
— string.hexdigits: строка со всеми шестнадцатеричными цифрами.
— string.octdigits: строка со всеми восьмеричными цифрами.
— string.punctuation: строка со всеми знаками пунктуации.
— string.whitespace: строка со всеми пробельными символами.
Эти константы позволяют легко получить строки с определенными наборами символов, что часто бывает полезно при работе со строками.
🔗 Python tricksАсинхронный фреймворк Robyn
Robyn — это фреймворк, предназначенный для упрощения написания асинхронного кода.
Основные возможности
Robyn:
— Удобные декораторы и функции для создания асинхронных задач и работы с ними (например, rob, task, run).
— Инструменты для организации параллельного выполнения задач (decorators like parallel, chunks).
— Интеграция с asyncio для использования асинхронных библиотек.
— Удобные классы и функции для работы с очередями задач (Queue, run_every).
— Встроенные инструменты логирования и отладки.
— Поддержка типизации с помощью typing.
🔗 Python tricksКласс Template
Класс Template позволяет создавать шаблоны текста с подстановкой переменных.
Это удобно для генерации текста на основе шаблона.
🔗 Python tricks
Повторение элемента в списке
Чтобы увеличить количество строк, можно использовать звездочку *. Но этот лайфхак применим и к спискам.
🔗 Python tricks
Списковое включение (быстрый способ)
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный ниже пример кода, чтобы понять, как это работает.
🔗 Python tricks
Библиотека setuptools
Библиотека setuptools предназначена для создания и распространения пакетов Python.
Она позволяет:
— Упростить установку пакетов с помощью команды
pip install.
— Описывать зависимости между пакетами.
— Автоматически собирать пакеты при установке.
— Загружать пакеты на PyPI для широкого распространения.
🔗 Python tricksFrozenset
frozensets используются для создания неизменяемых множеств.
Основные особенности frozensets:
— Они неизменяемы, то есть элементы нельзя добавить или удалить после создания.
— Они могут использоваться как ключи в словарях, так как неизменяемы.
— Они быстрее обычных множеств в операциях, так как являются неизменяемыми.
Здесь мы создали frozenset с элементами. Попытка добавить элемент вызывает ошибку, так как frozensets неизменяемы. Затем frozenset используется как ключ в словаре.
🔗 Python tricks
Наиболее частый элемент в списке
Это самый полезный лайфхак для поиска наиболее часто встречающегося элемента в списке. Представьте, что у вас есть список с кучей данных, и вам нужно найти в нем элемент с максимальной частотой употребления.
Большинство прибегает к использованию циклов для решения этой проблемы. Но вы можете упростить себе задачу, применив несколько встроенных функций.
🔗 Python tricks
Подсчет количества элементов
Этот лайфхак полезен для подсчета всех появляющихся элементов с помощью встроенной библиотеки Python. Вместо использования циклических и условных операторов и прочей логики, просто следуйте логике этого кода.
🔗 Python tricks
Разработчики Google и Twitter рекомендуют удалить соцсети и переехать в лес, чтобы избавиться от информационного шума. Но есть и другое решение.
Этот телеграм-бот сортирует ваши каналы и показывает актуальные посты, заменяя сотни уведомлений в ленте.
Еще одна крутая фишка — дайджест, он собирает краткие заголовки важных тем за целый день.
Бот абсолютно бесплатный. Приятного использования!
https://t.me/AiOpenNewsbot?start=c291cmNlPWRlc2lnbmVyZ2FuZw
set.difference update
Метод difference update() вычисляет разницу между двумя множествами (A – B). В результате множество A обновляется полученным множеством. В данном примере продемонстрировано применение метода.
🔗 Python tricks
Декоратор override
@override используется для переопределения методов в классах-наследниках. Он позволяет указать, что метод в подклассе переопределяет метод базового класса.
Это может быть полезно для:
— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
🔗 Python tricksКласс Process
Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором
Process, передавая целевую функцию и аргументы.
При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
— Синхронизацию процессов при необходимости.
🔗 Python tricksРабота с регистрами
Строки в Python имеют свойство регистра — прописные и строчные буквы считаются разными символами.
Для преобразования регистра используются методы строк:
str.upper() — преобразует строку к верхнему регистру.
str.lower() — преобразует строку к нижнему регистру.
str.swapcase() — меняет регистр каждого символа на противоположный.
str.capitalize() — делает первую букву заглавной, остальные строчными.
Регистр конкретного символа можно проверить в строке методами:
str.isupper() — проверка на заглавный регистр.
str.islower() — проверка на строчный регистр.
Регистр важно учитывать при сравнении строк на равенство.
🔗 Python tricksИспользуем встроенные функции в Python для написания стандартной логики
(ч.2)
Как показано в примере выше, с помощью функции map() мы можем избежать написания цикла for для выделения заглавными буквами каждого слова в списке имен.
Другая известная функция - reduce(). Как следует из ее названия, она применяет функцию к итератору и выполняет для нее операцию reduce.
🔗 Python tricks
Используем встроенные функции в Python для написания стандартной логики (ч.1)
В Python есть несколько встроенных функций, которые помогают при написании некоторых стандартных логических операций.
Например, функция
map() - известная и часто используемая функция. Она получает два параметра, один из которых - функция, а другой - итератор. При выполнении функции map функция применяется к каждому элементу в итераторе.
🔗 Python tricksigraph
igraph — это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph, вы можете установить её с помощью pip:
pip install python-igraph
Более подробную информацию о igraph и его возможностях можно найти в официальной документации.
🔗 Python tricksRepost from ВИЛСАКОМ РЕД / WYLSACOM RED
⚡️Мегарозыгрыш призов! Разыгрываем два MacBook Pro 14’’ Space Gray на M3, два iPhone 15 Pro Max 256 ГБ цвета Black Titan и Natural Titan, два Oculus Quest 3.
Для участия нужно:
• подписаться на @whackdoor;
• подписаться на @wylsared;
• нажать кнопку «Участвую».
Итоги конкурса подведёт бот 5 декабря в 19:00, он выберет победителей. Порядок победителей будет такой: первое имя — MacBook Pro 14, второе — MacBook Pro 14, третье — iPhone 15 Pro Max 256 ГБ Natural Titan, четвёртое — iPhone 15 Pro Max 256 ГБ Black Titan, пятое и шестое — Oculus Quest 3.
Приз отправляем за наш счёт по РФ, Беларуси и Казахстану. Всем удачи!
⚠️ Если кнопка подвисла — не переживайте, вас все равно зарегистрирует, просто выполните условия и нажмите «Участвовать».
