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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Быстрое получение основных статистических характеристик с использованием statistics или pandas

Если вам нужно получить основные статистические показатели (среднее, медиану, стандартное отклонение и т.д.) для набора данных, Python предлагает удобные инструменты для этого. Вы можете использовать модуль statistics для работы с небольшими наборами данных или pandas для анализа больших данных в DataFrame.

Использование statistics и pandas помогает упростить анализ данных и быстро получить необходимую информацию о числовом наборе, будь то список чисел или целый столбец данных в таблице.

🔗 Python tricks
Деструкторы

Деструкторы используются для освобождения ресурсов, занятых объектом, перед уничтожением самого объекта.
Деструктор определяется методом __del__() в классе и вызывается, когда счетчик ссылок на объект достигает нуля.

Используется в основном для закрытия файлов, подключений к БД.

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

🔗 Python tricks
Humanize

Humanize — это библиотека, которая предоставляет функции для более удобочитаемого форматирования данных.

Основные возможности:
— Преобразование чисел в удобочитаемые строки.
— Форматирование дат и времени в понятные фразы типа "3 дня назад".
— Преобразование идентификаторов в удобные для чтения слоги.
— Сокращение длинных строк по словам для компактного отображения.

Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
— Веб-приложения для отображения статистики.
— Информационные табло и панели мониторинга.
— Системы аналитики для визуализации данных.
— CLI-интерфейсы для вывода данных пользователю.

Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.

🔗 Python tricks
rembg

Rembg — это библиотека для удаления фона из изображений.

Основные возможности:
— Автоматическое удаление фона с использованием нейросетей.
— Возможность точной настройки для сложных изображений .
— Поддержка изображений разных форматов — JPG, PNG, GIF и др.

Rembg использует модели глубокого обучения, предварительно обученные на больших наборах данных. Это позволяет достичь хороших результатов по удалению фона.
Также библиотека позволяет быстро интегрировать удаление фона в любые проекты на Python, где требуется обработка изображений. Простой API и хорошее качество делают эту библиотеку полезным инструментом для разных задач.

🔗 Python tricks
Комплексные числа

Комплексные числа представлены типом данных complex.

Комплексные числа можно создавать разными способами:
— Используя конструктор complex(a, b), где a — действительная часть, b — мнимая.
— Из вещественного числа, добавив к нему мнимую часть. Например, a + bj.
— Из строкового представления с помощью
complex(string).

С комплексными числами можно выполнять стандартные математические операции.
Для доступа к частям комплексного числа используются атрибуты real и imag.

Встроенные функции abs(), conjugate(), polar() позволяют получить модуль, сопряженное число и представление в тригонометрической форме.

🔗 Python tricks
random.shuffle

random.shuffle — это функция из модуля random, которая перемешивает элементы списка на месте, то есть изменяет исходный список случайным образом. Эта функция полезна, когда нужно случайным образом изменить порядок элементов в списке.

🔗 Python tricks
Сравнение быстродействия def и lambda-функций Python. Общие функции

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

Для самого измерения мы будем использовать разницу во времени между началом выполнения и концом.

🔗 Python tricks
Сравнение быстродействия def и lambda-функций Python. Общие функции

Всего у нас будет 2 диаграммы: полная и усредненная. В каждой по 2 графика: для def и lambda функций. Всего нам потребуется 4 черепахи.
Список значений для 1 и 2 графика очевиден — несколько результатов выполнения замера скорости. С 3 и 4 всё сложнее — нужно найти среднее арифметическое одного из 2 первых графиков.

Дабы слишком не заморачиваться над тем, чтобы график никуда не вылезал, найдём разницу между каждым элементом каждого графика и средним значением между средними арифметическими из 1 и 2 графика. В итоге, на графике мы будем видеть не общее значение, а разницу.

🔗 Python tricks
random.shuffle

random.shuffle — это функция из модуля random, которая перемешивает элементы списка на месте, то есть изменяет исходный список случайным образом. Эта функция полезна, когда нужно случайным образом изменить порядок элементов в списке.

🔗 Python tricks
math.fabs

math.fabs — это функция, которая возвращает абсолютное значение числа в виде числа с плавающей точкой. В отличие от встроенной функции abs, которая может возвращать целое или число с плавающей точкой в зависимости от типа входного значения, math.fabs всегда возвращает значение типа float.

🔗 Python tricks
Использование выражений-генераторов для экономии памяти

Вместо того чтобы создавать целый список в памяти, можно использовать выражения-генераторы, которые по одному возвращают элементы. Это особенно полезно при работе с большими данными, так как экономит память.

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

🔗 Python tricks
Использование генераторов списков для создания списков в одну строку

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

🔗 Python tricks
🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире

11 сентября (уже в четверг!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика.

Почему точно нужно прийти:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

🔍Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.
Быстрая смена значений двух переменных без временной переменной

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

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

🔗 Python tricks