Python tricks | Хитрости Питона
Відкрити в Telegram
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Показати більше6 053
Підписники
Немає даних24 години
-117 днів
-5930 день
Архів дописів
Использование zip() для параллельной итерации по нескольким последовательностям
Когда вам нужно одновременно итерировать по нескольким спискам или последовательностям и работать с их элементами параллельно, zip() — это отличный инструмент, который позволяет объединить их в одну последовательность кортежей.
Использование zip() делает код более элегантным и сокращает количество строк, позволяя избежать явной работы с индексами и упрощая параллельную обработку данных.
🔗 Python tricks
Использование collections.defaultdict для работы со словарями с значениями по умолчанию
Когда вы работаете со словарями и часто сталкиваетесь с ситуацией, когда нужно инициализировать значение, если ключа ещё нет в словаре, defaultdict из модуля collections значительно упростит вашу работу.
Использование defaultdict делает код чище и защищает от ошибок, связанных с обращением к несуществующим ключам, позволяя сосредоточиться на логике задачи.
🔗 Python tricks
math.factorial
Функция math.factorial используется для вычисления факториала числа. Факториал числа n (обозначается как n!) — это произведение всех положительных целых чисел от 1 до n. Например, факториал числа 5 (5!) равен 5 x 4 x 3 x 2 x 1 = 120.
🔗 Python tricks
Использование zip() для параллельной итерации по нескольким последовательностям
Когда вам нужно одновременно итерировать по нескольким спискам или последовательностям и работать с их элементами параллельно, zip() — это отличный инструмент, который позволяет объединить их в одну последовательность кортежей.
Использование zip() делает код более элегантным и сокращает количество строк, позволяя избежать явной работы с индексами и упрощая параллельную обработку данных.
🔗 Python tricks
Использование множества (set) для удаления дубликатов из списка
Когда вы работаете со списками и хотите быстро удалить из них дубликаты, использование множества (set) — это самый простой и быстрый способ.
Этот способ особенно удобен, когда важно быстро избавиться от дубликатов, а порядок элементов не имеет значения. Он помогает сделать код компактным и эффективным.
🔗 Python tricks
Использование однострочных условий (тернарных операторов)
Иногда нужно сделать выбор между двумя значениями на основе условия. Вместо написания полного блока if-else, можно использовать тернарный оператор, который позволяет записать условие и выбор значений в одну строку.
Тернарный оператор помогает упростить код, уменьшая количество строк и делая его более читаемым, особенно в ситуациях, где нужно быстро принять решение на основе простого условия.
🔗 Python tricks
Использование enumerate() для работы с индексами в цикле
Когда вы работаете с итерацией по спискам или другим последовательностям и вам нужно получить не только элемент, но и его индекс, enumerate() — идеальный инструмент.
Использование enumerate() помогает избавиться от лишнего кода и ошибок, связанных с управлением индексами, делая итерацию по последовательностям удобнее и эффективнее.
🔗 Python tricks
Использование оператора else с циклом for или while
В Python циклы for и while могут содержать блок else, который выполняется, если цикл завершился без прерывания (без использования break). Это мощная, но часто забываемая возможность, которая позволяет элегантно обрабатывать случаи, когда цикл проходит полностью.
Использование else с циклами помогает избежать лишних проверок и делает код более логичным, особенно в ситуациях, когда важно знать, был ли цикл завершен естественным образом или был прерван.
🔗 Python tricks
Использование функции functools.lru_cache для кэширования результатов функции
Когда вы работаете с функциями, которые часто вызываются с одними и теми же аргументами, вы можете значительно ускорить выполнение программы, если будете кэшировать результаты этих вызовов. Python предоставляет для этого простой и эффективный инструмент — functools.lru_cache.
Использование lru_cache помогает существенно сократить время выполнения программ, особенно в тех случаях, когда функция выполняет ресурсоемкие операции, и ее результаты можно использовать повторно.
🔗 Python tricks
sets.isuperset()
Функция
sets.isuperset() позволяет проверить, является ли один set подмножеством другого.
Она принимает в качестве аргумента другой set и возвращает boolean значение — True если первый set содержит все элементы второго, и False в противном случае.
Это полезно при работе с множествами для проверки включения, или при проверке покрытия тестами.
Также это используется для проверки включения при работе с данными, чтобы убедиться, что один набор данных полностью покрывает другой по каким-либо критериям.
🔗 Python tricksРаспаковка массива
Распаковка массива (iterable unpacking) — это удобный синтаксис для присваивания элементов
iterable объектов (списков, кортежей и т. д.) отдельным переменным.
Основные моменты, которые нужно знать:
— Распаковка производится с помощью звездочки *.
— Количество переменных должно соответствовать количеству элементов в iterable объекте, иначе возникнет ошибка.
— Можно использовать распаковку для пропуска элементов.
— Для сбора оставшихся элементов в список используется конструкция *others.
— Распаковка работает с вложенными списками.
— Формат распаковки можно использовать и при передаче аргументов в функции.
🔗 Python tricksКомплексные числа
Комплексные числа представлены типом данных
complex.
Комплексные числа можно создавать разными способами:
— Используя конструктор complex(a, b), где a — действительная часть, b — мнимая.
— Из вещественного числа, добавив к нему мнимую часть. Например, a + bj.
— Из строкового представления с помощью
complex(string).
С комплексными числами можно выполнять стандартные математические операции.
Для доступа к частям комплексного числа используются атрибуты real и imag.
Встроенные функции abs(), conjugate(), polar() позволяют получить модуль, сопряженное число и представление в тригонометрической форме.
🔗 Python tricksrembg
Rembg — это библиотека для удаления фона из изображений.
Основные возможности:
— Автоматическое удаление фона с использованием нейросетей.
— Возможность точной настройки для сложных изображений .
— Поддержка изображений разных форматов — JPG, PNG, GIF и др.
Rembg использует модели глубокого обучения, предварительно обученные на больших наборах данных. Это позволяет достичь хороших результатов по удалению фона.
Также библиотека позволяет быстро интегрировать удаление фона в любые проекты на Python, где требуется обработка изображений. Простой API и хорошее качество делают эту библиотеку полезным инструментом для разных задач.
🔗 Python tricks
ИЩЕМ 10 ЧЕЛОВЕК, КОТОРЫХ НАУЧИМ ЗАРАБАТЫВАТЬ НА PYTHON-РАЗРАБОТКЕ БЕСПЛАТНО
Если ты задумываешься об IT профессии и хочешь зарабатывать от 100 000 руб. на старте карьеры, то это твой реальный шанс!
Мы – онлайн-университет Zerocoder, обучивший программированию более 8 000 человек.
По вашим запросам мы сделали IT образование еще более доступным и запустили специальную программу, которая дает возможность платить за обучение после того, как кураторы помогут тебе устроиться на работу.
В конце курса ты освоишь самый популярный язык программирования Python, научишься составлять эффективные промты с помощью ChatGPT и устроишься на свою первую работу, имея сильное портфолио и классные кейсы с IT-проектами!
Кликай на ссылку и узнавай подробности, заявки принимаются только до конца этой недели.
Humanize
Humanize — это библиотека, которая предоставляет функции для более удобочитаемого форматирования данных.
Основные возможности:
— Преобразование чисел в удобочитаемые строки.
— Форматирование дат и времени в понятные фразы типа "3 дня назад".
— Преобразование идентификаторов в удобные для чтения слоги.
— Сокращение длинных строк по словам для компактного отображения.
Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
— Веб-приложения для отображения статистики.
— Информационные табло и панели мониторинга.
— Системы аналитики для визуализации данных.
— CLI-интерфейсы для вывода данных пользователю.
Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.
🔗 Python tricks
Деструкторы
Деструкторы используются для освобождения ресурсов, занятых объектом, перед уничтожением самого объекта.
Деструктор определяется методом
__del__() в классе и вызывается, когда счетчик ссылок на объект достигает нуля.
Используется в основном для закрытия файлов, подключений к БД.
Применение деструкторов ограничено в связи с наличием сборщика мусора. Их стоит использовать только когда нужно правильно освободить внешние ресурсы, например файлы.
🔗 Python tricksЕсть два стула…Python или Go. На примере Kubernetes
Как связать код и инфраструктуру в единое целое? Как использовать Kubernetes в приложениях на все 100%, контролируя любую абстракцию в кластере?
Поговорим об этом на бесплатном вебинаре от Слёрма 21 августа в 19:00 мск⚡
Обсудим:
▶️ «Умный» автоскейлинг на основе бизнес-метрик
▶️ Модификация манифестов приложений на лету
▶️ Динамическая приоритизация использования ресурсов кластера в мультитенантной архитектуре
▶️ Кастомизируемый роутинг для stateful приложений с закреплением клиентов за нужными подами в условиях переподключения клиентов
Зачем все это нужно и как реализовать задуманное? Покажем на кейсах Python и Golang.
Спикер: Виталий Лихачев, SRE в booking.com, ex-Avito Senior Software Engineer
Подробности в боте @GolangPython_Bot. Присоединяйтесь!
erid: LjN8KVptJ
Быстрое получение основных статистических характеристик с использованием statistics или pandas
Если вам нужно получить основные статистические показатели (среднее, медиану, стандартное отклонение и т.д.) для набора данных, Python предлагает удобные инструменты для этого. Вы можете использовать модуль statistics для работы с небольшими наборами данных или pandas для анализа больших данных в DataFrame.
Использование statistics и pandas помогает упростить анализ данных и быстро получить необходимую информацию о числовом наборе, будь то список чисел или целый столбец данных в таблице.
🔗 Python tricks
Использование модуля os.path и pathlib для удобной работы с путями
Когда вы работаете с файлами и директориями, важно уметь легко и безопасно манипулировать путями к файлам. Модули os.path и pathlib в Python предоставляют удобные методы для работы с путями, объединения их, получения имени файла и расширения, а также проверки существования файла или директории.
Использование os.path и pathlib помогает сделать код более безопасным и понятным, упрощая работу с путями и снижая вероятность ошибок, связанных с неправильным использованием путей к файлам.
🔗 Python tricks
Измерение времени выполнения кода с использованием контекстного менеджера
Когда вы оптимизируете свой код, важно знать, сколько времени занимает выполнение различных его частей. Вместо того чтобы вручную замерять время начала и окончания, вы можете использовать контекстный менеджер для автоматизации этого процесса.
Этот метод помогает автоматизировать замеры времени, делая код чище и удобнее для анализа производительности.
🔗 Python tricks
