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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Обмен переменными между блокнотами

Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.

🔗 Python tricks
Отображение графиков Matplotlib

%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.

🔗 Python tricks
Генераторы: простой способ создания итератора

Самый простой способ создания собственных итераторов в Python — это создание генератора.

В Python есть два способа создания генераторов.

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

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

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

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

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

Использование множества для удаления дубликатов — это быстрый и эффективный способ сократить размер списка и оставить только уникальные элементы.

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

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

Использование множества для удаления дубликатов — это быстрый и эффективный способ сократить размер списка и оставить только уникальные элементы.

🔗 Python tricks
Для чего используется *args в Python?

В Python форма *args с одной звездочкой используется в качестве параметра для отправки функциями списка аргументов, которые не являются ключевыми словами с переменной длиной. Стоит отметить, что звездочка (*) является важным элементом, так как args представляет собой общепринятую идиому, хотя она и не принуждается к использованию языком.

🔗 Python tricks
Быстрое объединение строк с помощью join()

Когда вам нужно объединить список строк в одну строку, вместо того чтобы использовать цикл и сложение строк, лучше применить метод join(). Это гораздо быстрее и эффективнее, особенно при работе с большими наборами данных.

Использование join() ускоряет процесс объединения строк и делает код лаконичнее и эффективнее.

🔗 Python tricks
Использование defaultdict для работы с частотами

Если вам нужно подсчитать частоту появления элементов в коллекции (например, в списке), вы можете использовать defaultdict из модуля collections. Это позволяет избежать необходимости предварительно проверять, существует ли ключ в словаре, что упрощает код.

Использование defaultdict значительно упрощает задачу подсчета частот и позволяет писать более чистый и понятный код.

🔗 Python tricks
Использование itertools.groupby для группировки данных

Если у вас есть список данных, и вы хотите сгруппировать его по определенному критерию, вы можете использовать функцию groupby из модуля itertools. Это позволяет удобно собирать элементы, относящиеся к одной категории, в одну группу.

Использование itertools.groupby позволяет легко и эффективно организовать данные, что упрощает последующую обработку и анализ.

🔗 Python tricks
Использование enumerate для индексации элементов

Когда вам нужно пройтись по списку и одновременно получить индекс каждого элемента, вместо того чтобы использовать цикл с диапазоном, вы можете использовать функцию enumerate(). Это упрощает код и делает его более читаемым.

Использование enumerate() позволяет избежать избыточного кода и делает работу с последовательностями более удобной и безопасной.

🔗 Python tricks
Использование defaultdict из модуля collections для упрощения работы со словарями

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

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

🔗 Python tricks
Использование with для работы с файлами

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

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

🔗 Python tricks
Для чего используется kwargs в Python?

Форма **kwargs с двумя звездочками используется в качестве параметра для отправки в функции списка аргументов переменной длины без ключевого слова. Две звездочки () также являются важным элементом, так как kwargs представляет собой общепринятую идиому, хотя она и не принуждается к использованию языком.

🔗 Python tricks
Использование *args и **kwargs при вызове функции

Мы также можем использовать *args и **kwargs для передачи аргументов в функции.

🔗 Python tricks
Потребление памяти при сортировке в Python

Сначала сравним, сколько памяти потребляет каждая из функций. Для отслеживания максимального использования памяти, используем встроенный модуль resource. Так как данный модуль позволяет отслеживать использование памяти для одного потока, мы запускаем сортировку списка в отдельном потоке. Также можно использовать FunctionSniffingClass, включенный в репозитории.

🔗 Python tricks
Выход пользователя из профиля на Django

Пользователь успешно прошел процедуру аутентификации, но… как теперь выйти? Можно было бы зайти в админку и выйти оттуда, однако есть способ получше. Добавим ссылку выхода, которая будет перенаправлять человека на домашнюю страницу. Благодаря системе аутентификации Django, добиться такого сценария проще простого.

В файле шаблона base.html добавим ссылку {% url 'logout' %} для выхода сразу после приветствия пользователя.

🔗 Python tricks
Потребление памяти при сортировке в Python

Сначала сравним, сколько памяти потребляет каждая из функций. Для отслеживания максимального использования памяти, используем встроенный модуль resource. Так как данный модуль позволяет отслеживать использование памяти для одного потока, мы запускаем сортировку списка в отдельном потоке. Также можно использовать FunctionSniffingClass, включенный в репозитории.

🔗 Python tricks
Резюме статьи

Gensim — отличный пакет Python для большого количества задач нейролингвистического программирования (НЛП). Он включает в себя довольно надежную функцию резюмирования, которой достаточно легко пользоваться. Она реализует разновидность алгоритма TextRank.

Для использования этой функции нам нужна лишь одна строчка кода

🔗 Python tricks
Быстрая проверка уникальности элементов с помощью множества (set)

Когда вам нужно проверить, содержатся ли в списке только уникальные элементы, можно использовать множество (set). Множество автоматически удаляет дубликаты, и это может значительно ускорить проверку уникальности.

Использование множества для проверки уникальности – это эффективный способ ускорить процесс и сделать код более читаемым и компактным.

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

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

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

🔗 Python tricks