Python tricks | Хитрости Питона @python_tricks Channel on Telegram

Python tricks | Хитрости Питона

@python_tricks


Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy

Python tricks | Хитрости Питона (Russian)

Вы когда-нибудь задумывались, какие хитрости и приемы используют опытные программисты при работе с Python? Теперь у вас есть уникальная возможность узнать об этом, присоединившись к нашему каналу 'Python tricks | Хитрости Питона'. Здесь собраны лучшие практики и методики, которые помогут вам стать более продвинутым специалистом в работе с этим языком программирования.

Канал создан для того, чтобы делиться знаниями и опытом с теми, кто стремится вырасти в своей профессиональной сфере. Наши опытные участники регулярно публикуют интересные материалы, которые помогут вам расширить свои навыки и улучшить процесс разработки на Python.

Присоединяйтесь к нашему каналу 'Python tricks | Хитрости Питона' прямо сейчас, чтобы не упустить возможность узнать много нового и полезного. Не упустите шанс стать лучше вместе с опытными программистами!

Ссылка на наш канал: https://t.me/+QayZf6ccsQllZTYy

Python tricks | Хитрости Питона

05 Dec, 15:04


Использование списковых включений (List Comprehensions) для создания списков на основе других коллекций

Когда вам нужно создать новый список, применяя операцию ко всем элементам другого списка или фильтруя элементы по определённым условиям, списковые включения (list comprehensions) позволяют сделать это в одной строке.

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

🔗 Python tricks

Python tricks | Хитрости Питона

05 Dec, 08:26


Использование оператора "Walrus" (:=) для одновременного присваивания и использования значения

Оператор "Walrus" (:=) в Python позволяет одновременно присваивать значение переменной и использовать его в выражении. Это особенно полезно для сокращения кода, когда вам нужно вычислить значение и сразу же использовать его.

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

🔗 Python tricks

Python tricks | Хитрости Питона

04 Dec, 07:40


Использование списковых включений (list comprehensions) для фильтрации и трансформации данных

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

03 Dec, 17:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

03 Dec, 08:50


math.floor

math.floor — это функция в модуле math, которая округляет число вниз до ближайшего целого. Если число уже является целым, оно остается неизменным. Если число имеет дробную часть, оно округляется вниз до ближайшего меньшего целого.

🔗 Python tricks

Python tricks | Хитрости Питона

02 Dec, 16:07


Наследование с использованием метода super()

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

02 Dec, 09:07


Использование метода __repr__ для удобного отображения объектов

Когда вы разрабатываете классы, бывает полезно сделать так, чтобы объекты этого класса имели осмысленное текстовое представление при выводе. Для этого можно переопределить метод repr, который отвечает за представление объекта в строковом виде.

Этот лайфхак будет полезен разработчикам, которые часто выводят объекты в отладочных целях. Вместо отображения стандартной информации о памяти (например, <Person object at 0x...>), вы получите наглядное описание объекта. Это улучшает читаемость кода, особенно при отладке и логировании.

🔗 Python tricks

Python tricks | Хитрости Питона

01 Dec, 16:07


Использование метода @property для создания геттеров

В Python можно создавать геттеры и сеттеры для полей класса без явного объявления методов вроде get_name и set_name. Для этого используется декоратор @property, который позволяет обращаться к методу как к атрибуту, сохраняя при этом контроль над доступом к данным.

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

🔗 Python tricks

Python tricks | Хитрости Питона

01 Dec, 09:07


Использование pandas для быстрой работы с базами данных

Если вам нужно быстро анализировать данные из базы данных, библиотека pandas может значительно упростить процесс. С помощью pandas вы можете легко извлекать данные из базы данных, проводить анализ и манипуляции с ними в удобном табличном формате.

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

🔗 Python tricks

Python tricks | Хитрости Питона

30 Nov, 16:07


Использование ORM (Object-Relational Mapping) для упрощения работы с базами данных

ORM (Object-Relational Mapping) позволяет разработчикам работать с базами данных через объектно-ориентированные интерфейсы, что значительно упрощает взаимодействие с данными и уменьшает количество SQL-запросов, которые необходимо писать вручную.

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

🔗 Python tricks

Python tricks | Хитрости Питона

30 Nov, 09:07


Использование SQLAlchemy для автоматического создания таблиц из моделей

При работе с базами данных можно упростить процесс создания и управления таблицами, используя SQLAlchemy, который автоматически создаёт таблицы на основе Python-классов (моделей).

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

🔗 Python tricks

Python tricks | Хитрости Питона

29 Nov, 16:07


Методы сравнения объектов между собой (ч.1)

Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.

Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.

🔗 Python tricks

Python tricks | Хитрости Питона

29 Nov, 09:07


Конструктор

Метод, который вызывается при создании объектов, в ООП зовётся конструктором. Он нужен для объектов, которые изначально должны иметь какие-то значение. Например, пустые экземпляры класса "Студент" бессмысленны, и желательно иметь хотя бы минимальный обозначенный набор вроде имени, фамилии и группы.

В качестве Питоновского конструктора выступает метод init()

🔗 Python tricks

Python tricks | Хитрости Питона

28 Nov, 16:07


Генераторные фунции (generator functions)

Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.

🔗 Python tricks

Python tricks | Хитрости Питона

28 Nov, 09:07


В каких ситуациях возникает исключение NotImplementedError

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

🔗 Python tricks

Python tricks | Хитрости Питона

27 Nov, 16:07


Как начать отладку при утечке памяти в рабочем приложении

Для отладки утечек памяти в Python можно использовать инструменты, такие как Memory Profiler или objgraph.

Запустите вашу программу с помощью команды python -m memory_profiler my_script.py. Будет выведен подробный отчет о том, сколько памяти используется в каждой строке программы, а также общее использование памяти и любые утечки.

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

🔗 Python tricks

Python tricks | Хитрости Питона

27 Nov, 09:07


Что такое магические методы dunder

Магические методы, также известные как «dunder» (double underscore) методы в Python, это специальные методы, которые начинаются и заканчиваются двойным подчеркиванием. Они позволяют определить, как объекты этого класса будут вести себя в различных контекстах, например, при использовании операторов Python, таких как +, -, *, / и т.д., при вызове функций и методов, при сериализации и многое другое.

🔗 Python tricks

Python tricks | Хитрости Питона

26 Nov, 16:07


Объясните, что такое monkey patching и приведите пример

Monkey patching — это техника изменения поведения кода во время выполнения путем динамической замены или добавления методов или атрибутов в существующем объекте. Эта техника может быть полезна в том случае, когда изменения не могут быть внесены в существующий код, и требует минимальных изменений в существующем коде.

🔗 Python tricks

Python tricks | Хитрости Питона

26 Nov, 09:07


Использование транзакций для безопасного обновления базы данных

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

Транзакции особенно важны в критичных системах, где любое некорректное изменение может привести к потерям данных.

🔗 Python tricks

Python tricks | Хитрости Питона

25 Nov, 16:07


Использование пакетной вставки данных в базу данных с помощью метода executemany()

Когда нужно вставить большое количество записей в базу данных, можно значительно ускорить процесс, используя метод executemany() вместо многократного вызова execute(). Это снижает нагрузку на базу данных и уменьшает количество транзакций.

Этот подход поможет ускорить взаимодействие с базами данных при большом объеме данных.

🔗 Python tricks

Python tricks | Хитрости Питона

24 Nov, 09:07


Использование транзакций для повышения надежности и эффективности работы с базой данных

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

23 Nov, 16:07


Использование пакетной обработки запросов (batch processing) для ускорения вставки данных в базу

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

23 Nov, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

22 Nov, 16:07


Использование executemany для массовых вставок данных

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

Использование executemany — это простой, но мощный способ ускорить взаимодействие с базой данных при работе с множеством записей!

🔗 Python tricks

Python tricks | Хитрости Питона

22 Nov, 09:07


Использование контекстного менеджера для безопасного выполнения операций с базой данных

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

Этот лайфхак особенно полезен при написании небольших приложений или скриптов, которые работают с базами данных!

🔗 Python tricks

Python tricks | Хитрости Питона

21 Nov, 16:07


Использование SQLAlchemy для упрощенного взаимодействия с базами данных

SQLAlchemy — это популярная библиотека для работы с базами данных в Python. Она обеспечивает удобный интерфейс для выполнения операций с базами данных, используя как SQL-запросы, так и ORM (Object-Relational Mapping).

Таким образом, использование SQLAlchemy может значительно упростить вашу работу с базами данных в Python!

🔗 Python tricks

Python tricks | Хитрости Питона

21 Nov, 09:07


Использование контекстных менеджеров для работы с ресурсами

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

20 Nov, 16:07


Использование аннотаций типов для повышения ясности кода

Что это? Аннотации типов (type hints) позволяют указывать ожидаемые типы переменных, аргументов функций и возвращаемых значений. Это не влияет на выполнение программы, но значительно улучшает читаемость кода и облегчает его поддержку.

Использование аннотаций типов — простой, но эффективный способ улучшить качество кода и снизить количество ошибок.

🔗 Python tricks

Python tricks | Хитрости Питона

20 Nov, 09:07


Использование contextlib для управления ресурсами

Модуль contextlib в Python предоставляет удобные инструменты для работы с контекстными менеджерами, что позволяет упрощать управление ресурсами, такими как файлы, сетевые подключения и другие объекты, требующие освобождения ресурсов после использования.

Использование contextlib и контекстных менеджеров — это простой и мощный способ сделать ваш код более безопасным и удобным для работы!

🔗 Python tricks

Python tricks | Хитрости Питона

19 Nov, 16:07


Использование dataclasses для упрощения работы с данными

dataclass — это специальный декоратор в Python (доступный с версии 3.7), который автоматически создает методы, такие как init, repr, eq и другие, для классов, представляющих данные. Это позволяет сократить код и сделать его более читаемым.

Использование dataclass — это простой способ повысить эффективность разработки и сделать ваш код более чистым и понятным!

🔗 Python tricks

Python tricks | Хитрости Питона

19 Nov, 09:07


Использование встроенного модуля logging для удобного логирования

Правильное логирование — это важный аспект разработки приложений, который помогает отслеживать поведение приложения и диагностировать проблемы. Модуль logging в Python предоставляет простой и гибкий способ создания логов.

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

🔗 Python tricks

Python tricks | Хитрости Питона

18 Nov, 16:07


Использование файла .env для управления конфигурациями

При разработке приложений часто необходимо управлять конфигурационными параметрами, такими как параметры подключения к базе данных, API-ключи и другие секретные данные. Хранение этих данных в коде может привести к их утечке и усложнить управление конфигурациями. Использование файла .env позволяет отделить конфигурацию от кода и упрощает управление переменными окружения.

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

🔗 Python tricks

Python tricks | Хитрости Питона

18 Nov, 09:07


Использование файла .env для управления конфигурациями

При разработке приложений часто необходимо управлять конфигурационными параметрами, такими как параметры подключения к базе данных, API-ключи и другие секретные данные. Хранение этих данных в коде может привести к их утечке и усложнить управление конфигурациями. Использование файла .env позволяет отделить конфигурацию от кода и упрощает управление переменными окружения.

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

🔗 Python tricks

Python tricks | Хитрости Питона

17 Nov, 16:07


Использование requirements.txt для управления зависимостями

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

17 Nov, 09:07


Использование virtualenv для изолированных окружений

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Nov, 16:07


Использование functools.lru_cache для оптимизации производительности

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Nov, 09:07


Использование collections.defaultdict для работы с словарями

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

15 Nov, 09:07


Использование zip для объединения списков

Функция zip в Python позволяет объединять несколько списков в один, создавая пары элементов. Это особенно полезно, когда вы хотите обрабатывать данные из нескольких списков одновременно, например, при работе с данными, где у вас есть связанные списки (например, имена и возраст).

Использование zip позволяет легко и эффективно объединять данные, делая код более понятным и лаконичным.

🔗 Python tricks

Python tricks | Хитрости Питона

15 Nov, 06:17


Использование f-строк для форматирования строк

С версии Python 3.6 в языке появились так называемые f-строки (или формируемые строки), которые позволяют более удобным и читаемым образом форматировать строки. Это особенно полезно, когда вам нужно вставить переменные или выражения прямо в строку.

Использование f-строк упрощает процесс создания строк с динамическими данными и делает код более интуитивно понятным.

🔗 Python tricks

Python tricks | Хитрости Питона

14 Nov, 16:07


Метод Counter.elements()

Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря Counter без создания копии.

Как видно из примера, метод elements() возвращает итератор по элементам словаря Counter в порядке их добавления.
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.

🔗 Python tricks

Python tricks | Хитрости Питона

14 Nov, 09:07


Библиотека igraph

igraph предназначена для работы с графами и сетями. Она позволяет строить, анализировать и визуализировать графы.

Igraph часто используется при анализе социальных сетей, изучении структуры больших сетей (например, ссылок в интернете), в биоинформатике для анализа взаимодействий белков и других задач, связанных с теорией графов.

Основные возможности igraph — генерация случайных и классических графов, вычисление различных метрик (степени вершин, диаметра графа и т. д.), поиск сообществ и кластеров.

🔗 Python tricks

Python tricks | Хитрости Питона

13 Nov, 16:07


Библиотека xarray

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

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

В этом примере создана DataArray со случайными данными размерностей 2x3. Для осей заданы метки "city" и "year". Это позволяет легко обращаться к данным по городам и годам. Xarray сохраняет метаданные вместе с данными.

🔗 Python tricks

Python tricks | Хитрости Питона

13 Nov, 09:07


Метод id()

Метод id() возвращает уникальный идентификатор объекта.

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

id() позволяет получить числовое представление идентификатора объекта. Это может быть полезно при отладке и тестировании программы.

🔗 Python tricks

Python tricks | Хитрости Питона

12 Nov, 16:07


Метод isspace()

Метод isspace() проверяет, является ли символ пробельным.

Пробельными символами считаются:
— Пробел (' ').
— Табуляция ('\t').
— Перевод строки ('\n').
— Перевод каретки ('\r').
— Прочие unicode символы, определяемые как пробелы.

isspace() возвращает True, если символ пробельный, и False в противном случае.
Этот метод удобно использовать для проверки и обработки строк.

🔗 Python tricks

Python tricks | Хитрости Питона

12 Nov, 09:07


collections.Counter

Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.

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

Основные способы использования Counter:
— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.

🔗 Python tricks

Python tricks | Хитрости Питона

11 Nov, 16:07


collections.MutableMapping

Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear.

Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь.
Например, во многих функциях в стандартной библиотеке есть параметры типа dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.

🔗 Python tricks

Python tricks | Хитрости Питона

11 Nov, 09:07


Атрибут __slots__

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

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

Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.

__slots__ не наследуются, для каждого подкласса нужно определять свои слоты.

Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.

🔗 Python tricks

Python tricks | Хитрости Питона

10 Nov, 16:07


Функции, поддерживающие только именованные аргументы (kwargs)

**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.

В функциях после позиционных и обычных именованных аргументов указывают параметр **kwargs.

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

Если одновременно используются *args и **kwargs, то в вызове сначала указываются *args.

🔗 Python tricks

Python tricks | Хитрости Питона

10 Nov, 09:07


Библиотека yt-dlp

yt-dlpэто библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.

Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.

🔗 Python tricks

Python tricks | Хитрости Питона

09 Nov, 16:07


Argcomplete

Argcompleteэто библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).

Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.

Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.

🔗 Python tricks

Python tricks | Хитрости Питона

09 Nov, 09:07


Атрибут __all__

Атрибут __all__ используется для контроля того, какие элементы модуля экспортируются при импорте с помощью from module import *.
Этот атрибут должен содержать список имен, которые будут экспортированы.

Если __all__ не определен, то при импорте будут экспортированы все имена, не начинающиеся с _.

Использование __all__ позволяет явно указать автору модуля, какие части модуля являются публичным API, а какие — внутренней реализацией.
Это способствует лучшей структуре кода и предотвращает неожиданный экспорт внутренних элементов модуля.

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

🔗 Python tricks

Python tricks | Хитрости Питона

08 Nov, 16:07


Использование defaultdict из модуля collections

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

08 Nov, 09:07


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

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

Использование itertools.groupby позволяет значительно упростить код для группировки данных и сделать его более читабельным.

🔗 Python tricks

Python tricks | Хитрости Питона

07 Nov, 09:07


Использование collections.Counter для подсчета элементов в списке

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

Использование Counter делает процесс анализа данных более эффективным и удобным, избавляя вас от необходимости писать циклы и дополнительные условные операторы.

🔗 Python tricks

Python tricks | Хитрости Питона

06 Nov, 16:07


Использование f-строк для форматирования строк

f-строки, доступные в Python 3.6 и выше, позволяют легко и удобно форматировать строки, внедряя в них значения переменных. Это делает код более читаемым и уменьшает количество ошибок при форматировании.

Использование f-строк значительно улучшает процесс работы со строками в Python и делает код более чистым и понятным.

🔗 Python tricks

Python tricks | Хитрости Питона

06 Nov, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

05 Nov, 16:07


Логические all и any

Встроенные функции all() и any(), которые применяются к последовательностям (спискам, кортежам и т. д.) и возвращают bool значение.

all(iterable) — возвращает True, если все элементы iterable истинны (или iterable пуст).
any(iterable) — возвращает True, если хотя бы один элемент iterable истинен.

Эти функции могут использоваться для проверки каких-либо условий на всём наборе данных.
Например, проверить, что все числа больше нуля, или что хотя бы одно число больше 10.

Важные моменты:
— Для пустых iterable all() вернёт True, а any()False.
— Элемент считается ложным, если его bool() равен False.
— Функции останавливаются при первом ложном (для all) или истинном (для any) элементе.

🔗 Python tricks

Python tricks | Хитрости Питона

05 Nov, 09:07


Plumbum

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

Основные возможности библиотеки:
— Удобный синтаксис для запуска команд и программ из Python кода. Позволяет вызывать команды командной строки так же просто, как обычные функции.
— Автоматическое формирование командной строки. Можно передавать аргументы и параметры в виде обычных переменных, Plumbum сам сформирует командную строку.
— Перенаправление ввода/вывода. Поддержка стандартных операторов Unix для работы с потоками данных.
— Проверка кодов возврата и обработка ошибок.
— Локальное или удаленное выполнение. Возможность запускать команды как локально, так и по SSH на удаленных хостах.

🔗 Python tricks

Python tricks | Хитрости Питона

04 Nov, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

04 Nov, 09:07


Использование функции any() и all() для проверки условий

Функции any() и all() в Python позволяют легко проверять условия для элементов в коллекциях, таких как списки или кортежи. Это делает код более читаемым и компактным.

Использование any() и all() значительно упрощает проверку условий и делает код более читаемым и эффективным.

🔗 Python tricks

Python tricks | Хитрости Питона

03 Nov, 16:07


Использование f-строк для форматирования строк

В Python есть удобный способ форматирования строк, называемый f-строками (f-strings). Это позволяет вставлять значения переменных непосредственно в строку, делая код более читаемым и лаконичным.

Использование f-строк позволяет значительно упростить процесс форматирования строк и сделать ваш код более чистым и понятным.

🔗 Python tricks

Python tricks | Хитрости Питона

03 Nov, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

02 Nov, 16:07


Использование defaultdict из модуля collections для удобного подсчета элементов

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

02 Nov, 09:07


Использование itertools.product для генерации декартова произведения

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

01 Nov, 16:07


Использование f-строк для форматирования строк

С помощью f-строк (форматированных строковых литералов), доступных в Python 3.6 и выше, вы можете легко и читабельно вставлять значения переменных в строки. Это значительно упрощает создание сложных строк и повышает читаемость кода.

Использование f-строк позволяет значительно упростить процесс форматирования строк, делая код более чистым и понятным.

🔗 Python tricks

Python tricks | Хитрости Питона

01 Nov, 09:07


Использование zip() для параллельной обработки нескольких списков

Функция zip() в Python позволяет объединять несколько списков (или других итерируемых объектов) в один, создавая кортежи из элементов с одинаковыми индексами. Это удобно, когда нужно обрабатывать несколько последовательностей одновременно.

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

🔗 Python tricks

Python tricks | Хитрости Питона

31 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

31 Oct, 09:07


Использование функции any() для проверки наличия элементов, удовлетворяющих условию

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

Функция any() — это удобный инструмент для краткой и эффективной проверки условий в коллекциях, упрощая код и улучшая читаемость.

🔗 Python tricks

Python tricks | Хитрости Питона

30 Oct, 16:07


Pyspark

Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных.

Основные возможности Pyspark:
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.
— В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.
— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных.

Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.

🔗 Python tricks

Python tricks | Хитрости Питона

30 Oct, 09:07


Функция sorted

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

По умолчанию сортировка выполняется в возрастающем порядке. Для сортировки в убывающем порядке нужно указать аргумент reverse=True.
Для сортировки по определенному ключу можно использовать ключевой аргумент key. Он принимает функцию, которая извлекает ключ для сортировки из каждого элемента.

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

🔗 Python tricks

Python tricks | Хитрости Питона

29 Oct, 16:07


Библиотека Typer

Typerэто библиотека для создания командных интерфейсов приложений на Python.
Она позволяет легко создавать CLI приложения с поддержкой аргументов, опций, субкоманд и автоматической генерацией help.

Основные возможности Typer:
— Декоратор @typer.command() для определения команд и подкоманд.
— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация help с описаниями.
— Встроенная поддержка Click для обратной совместимости.

Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.

🔗 Python tricks

Python tricks | Хитрости Питона

29 Oct, 09:07


Использование оператора _ для повторного использования результата последней операции в интерактивном режиме

В Python при работе в интерактивной оболочке (например, в REPL или Jupyter Notebook) можно использовать символ подчеркивания _, чтобы получить результат последнего выражения. Это упрощает работу с вычислениями, когда нужно быстро использовать предыдущий результат.

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

🔗 Python tricks

Python tricks | Хитрости Питона

28 Oct, 16:07


Списковые включения (List Comprehensions) для создания списков в одну строку

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

Списковые включения — это мощный инструмент, который делает код Python компактнее и ускоряет его выполнение, особенно в простых операциях над списками.

🔗 Python tricks

Python tricks | Хитрости Питона

28 Oct, 09:07


Использование функции zip() для параллельной итерации по нескольким спискам

Функция zip() позволяет объединять несколько списков и одновременно итерироваться по ним в цикле. Это удобно, когда нужно обработать данные из нескольких коллекций синхронно.

Использование zip() значительно упрощает работу с несколькими списками, делая код лаконичным и удобным для понимания.

🔗 Python tricks

Python tricks | Хитрости Питона

27 Oct, 16:07


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

Метод .get() позволяет безопасно получать значения из словаря в Python. Вместо того чтобы вызывать ключ напрямую и рисковать выбросом ошибки KeyError, если ключ не существует, .get() возвращает None или указанное значение по умолчанию.

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

🔗 Python tricks

Python tricks | Хитрости Питона

27 Oct, 09:07


Использование оператора «:=» (моржовый оператор) для одновременного присваивания и проверки

Моржовый оператор :=, представленный в Python 3.8, позволяет выполнять присваивание внутри выражений. Это полезно, когда вам нужно одновременно присвоить значение переменной и использовать его в условии, что сокращает код и делает его более эффективным.

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

🔗 Python tricks

Python tricks | Хитрости Питона

26 Oct, 16:07


Использование тернарного оператора для упрощения условий

Тернарный оператор в Python — это компактный способ записи условных выражений. Он позволяет в одну строку записать простую проверку и выполнение одного из двух выражений в зависимости от условия.

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

🔗 Python tricks

Python tricks | Хитрости Питона

26 Oct, 09:07


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

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

Использование .join() делает процесс объединения строк более лаконичным и производительным, что особенно важно при работе с большими объемами текстовых данных.

🔗 Python tricks

Python tricks | Хитрости Питона

25 Oct, 16:07


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

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

Использование .join() делает процесс объединения строк более лаконичным и производительным, что особенно важно при работе с большими объемами текстовых данных.

🔗 Python tricks

Python tricks | Хитрости Питона

25 Oct, 09:07


Использование Counter из модуля collections для подсчета элементов

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

Counter — это эффективный инструмент для анализа данных и решения задач, связанных с подсчетом частоты появления элементов.

🔗 Python tricks

Python tricks | Хитрости Питона

24 Oct, 12:25


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

24 Oct, 11:25


🏆 Business camp Х5 - оплачиваемая программа для студентов и выпускников, которые хотят развиваться в мире бизнеса и IT

Компания X5 Group открывает свои двери для начинающих профессионалов, готовых к карьерному росту и новым вызовам.

Почему стоит подать заявку?
- Получишь полезный опыт: 6 месяцев ты будешь работать над реальными проектами
- Забудешь про скучные задания: на Business camp Х5 у тебя будет возможность генерить идеи и воплощать их в дружном коллективе
- Гибкий график работы: сможешь работать от 20 до 40 часов в неделю

Для кого?
- Ты - студент 3−4 курса бакалавриата или 1−2 курса магистратуры (выпускаешься в 2025 / 2026)
- Готов(а) работать в Москве
- Средний балл 4.7 и выше (по пятибалльной шкале)

Направления: Data Science, Data Engineering, IT, Бизнес-аналитик

❗️Заявки принимаются до 10 ноября 2024 года

💫 Регистрируйся и открывай новые карьерные горизонты вместе с X5 Group - https://vk.cc/cD3qKS?erid=LjN8KTXBc

Python tricks | Хитрости Питона

24 Oct, 09:07


Использование zip() для одновременной итерации по нескольким спискам

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

Использование zip() — это быстрый и удобный способ параллельной обработки нескольких списков, который помогает сделать код проще и аккуратнее.

🔗 Python tricks

Python tricks | Хитрости Питона

23 Oct, 16:07


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

При работе со словарями (dict) в Python, иногда нужно получить значение по ключу, который может отсутствовать. Вместо того чтобы проверять наличие ключа с помощью условия if, можно использовать метод get(), который возвращает значение по ключу, или значение по умолчанию, если ключа нет.

Использование метода get() позволяет избежать ошибок при работе с отсутствующими ключами и сделать код более чистым и удобным.

🔗 Python tricks

Python tricks | Хитрости Питона

23 Oct, 09:07


Использование списка включений (list comprehension) для фильтрации и трансформации данных

Списки включений (list comprehension) позволяют быстро и лаконично создавать новые списки на основе существующих, применяя фильтрацию и трансформацию данных в одной строке. Это полезно для оптимизации кода, который требует создания новых списков по определённым условиям.

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

🔗 Python tricks

Python tricks | Хитрости Питона

22 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

22 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

21 Oct, 16:07


Резюме статьи

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

21 Oct, 09:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

20 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

20 Oct, 09:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

19 Oct, 16:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

19 Oct, 09:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

18 Oct, 16:06


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

18 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

17 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

17 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

15 Oct, 16:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

15 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

14 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

14 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

13 Oct, 16:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

13 Oct, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

12 Oct, 16:07


Использование оператора _ для игнорирования значений

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

12 Oct, 09:07


Одновременная распаковка нескольких переменных

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

11 Oct, 16:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

11 Oct, 09:07


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

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

🔗 Python tricks

Python tricks | Хитрости Питона

10 Oct, 16:07


Обмен переменными между блокнотами

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

🔗 Python tricks

Python tricks | Хитрости Питона

10 Oct, 09:07


Просмотр содержимого внешнего файла

Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.

🔗 Python tricks

Python tricks | Хитрости Питона

26 Sep, 16:07


Использование itertools.product() для генерации декартова произведения

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

26 Sep, 09:07


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

Когда вам нужно сгруппировать элементы списка по какому-то критерию, функция groupby из модуля itertools позволяет это сделать эффективно.

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

🔗 Python tricks

Python tricks | Хитрости Питона

25 Sep, 16:07


Использование Counter для подсчёта элементов в коллекции

Когда вам нужно быстро подсчитать количество повторяющихся элементов в списке или другой коллекции, класс Counter из модуля collections делает это легко и эффективно.

Использование Counter упрощает задачу подсчета элементов, делая код более кратким и понятным, а также позволяя быстро получать полезную информацию о распределении данных.

🔗 Python tricks

Python tricks | Хитрости Питона

25 Sep, 09:07


Быстрое создание словаря из двух списков с помощью zip() и dict()

Когда у вас есть два списка — один с ключами, другой со значениями — вы можете легко создать словарь, используя комбинацию zip() и dict().

Использование zip() и dict() позволяет создать словарь из двух списков в одной строке, делая процесс создания словарей из нескольких списков быстрым и интуитивно понятным.

🔗 Python tricks

Python tricks | Хитрости Питона

24 Sep, 16:07


Использование списковых включений (List Comprehensions) для создания списков на основе других коллекций

Когда вам нужно создать новый список, применяя операцию ко всем элементам другого списка или фильтруя элементы по определённым условиям, списковые включения (list comprehensions) позволяют сделать это в одной строке.

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

🔗 Python tricks

Python tricks | Хитрости Питона

24 Sep, 09:08


Использование оператора "Walrus" (:=) для одновременного присваивания и использования значения

Оператор "Walrus" (:=) в Python позволяет одновременно присваивать значение переменной и использовать его в выражении. Это особенно полезно для сокращения кода, когда вам нужно вычислить значение и сразу же использовать его.

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

🔗 Python tricks

Python tricks | Хитрости Питона

23 Sep, 16:07


Использование списковых включений (list comprehensions) для фильтрации и трансформации данных

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

23 Sep, 09:07


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

22 Sep, 16:07


math.floor

math.floor — это функция в модуле math, которая округляет число вниз до ближайшего целого. Если число уже является целым, оно остается неизменным. Если число имеет дробную часть, оно округляется вниз до ближайшего меньшего целого.

🔗 Python tricks

Python tricks | Хитрости Питона

22 Sep, 09:07


math.dist

Функция math.dist используется для вычисления Евклидова расстояния между двумя точками в n-мерном пространстве. Функция math.dist доступна начиная с Python 3.8. В этом примере функция math.dist вычислит и выведет Евклидово расстояние между точками (1, 2) и (4, 6).

🔗 Python tricks

Python tricks | Хитрости Питона

21 Sep, 16:07


random.choices

Функция random.choices используется для случайного выбора элементов из последовательности с возможностью задания весов для каждого элемента. Это полезно, когда требуется сделать выборку с повторением из заданного списка элементов. population: Список или последовательность элементов, из которых производится выбор. weights — это список весов, соответствующих каждому элементу в population. Если указан этот параметр, элементы с большими весами будут выбираться чаще. cum weights — список накопленных весов. Если указан, параметр weights игнорируется. k — количество элементов, которые нужно выбрать. По умолчанию 1.

🔗 Python tricks

Python tricks | Хитрости Питона

21 Sep, 09:07


string.rjust

Строковый метод rjust() возвращает выровненную по правому краю строку заданной минимальной ширины. С помощью параметра width ты задаешь длину строки. Если длина меньше или равна длине строки, возвращается исходная строка. С помощью параметра fillchar ты можешь задать символ, которым будет заполняться оставшееся место. По умолчанию это пробел.

🔗 Python tricks

Python tricks | Хитрости Питона

20 Sep, 16:07


Использование оператора any() для проверки наличия хотя бы одного истинного значения в списке

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

20 Sep, 09:07


Использование any() и all() для проверки условий в списке

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

🔗 Python tricks

Python tricks | Хитрости Питона

19 Sep, 16:07


Быстрое создание списка с помощью list comprehension

Когда вам нужно создать новый список, применяя операцию к каждому элементу другого списка или фильтруя элементы по условию, list comprehension позволяет сделать это компактно и эффективно.

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

🔗 Python tricks

Python tricks | Хитрости Питона

19 Sep, 09:08


Использование тернарного оператора для упрощения условных выражений

Когда вам нужно присвоить переменной одно из двух значений в зависимости от условия, тернарный оператор (условие ? значение_если_True : значение_если_False в других языках) позволяет сделать это в одну строку.

🔗 Python tricks

Python tricks | Хитрости Питона

18 Sep, 10:27


Использование itertools.cycle() для бесконечной итерации по списку

Когда вам нужно многократно перебирать элементы списка, функция cycle() из модуля itertools позволяет создать бесконечный цикл, который будет проходить по элементам списка снова и снова.

Использование itertools.cycle() делает код более лаконичным и избавляет от необходимости вручную перебирать элементы снова и снова, что особенно полезно в задачах, требующих бесконечной итерации по фиксированному набору данных.

🔗 Python tricks

Python tricks | Хитрости Питона

18 Sep, 09:07


Использование Counter для подсчёта элементов в коллекциях

Если вам нужно быстро посчитать количество вхождений элементов в списке или строке, Counter из модуля collections — это простой и мощный инструмент для этой задачи.

Использование Counter делает код более компактным и эффективным, упрощая задачи, связанные с подсчётом элементов в коллекциях, и избавляет от необходимости писать сложные циклы и дополнительные условия.

🔗 Python tricks

Python tricks | Хитрости Питона

17 Sep, 16:10


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

17 Sep, 09:10


Использование списковых включений (list comprehensions) для фильтрации и трансформации списков

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Sep, 11:13


Использование генераторов списков для фильтрации и преобразования данных

Генераторы списков (list comprehensions) позволяют компактно и эффективно создавать новые списки, фильтруя и преобразуя данные из существующих коллекций.

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

🔗 Python tricks

Python tricks | Хитрости Питона

16 Sep, 09:10


Использование Counter для подсчета элементов в списке

Когда вам нужно подсчитать количество вхождений элементов в списке или другой коллекции, Counter из модуля collections позволяет сделать это быстро и эффективно.

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

🔗 Python tricks

Python tricks | Хитрости Питона

15 Sep, 16:09


Использование any() и all() для проверки условий в списках

Когда вам нужно проверить, выполняется ли хотя бы одно условие или все условия в списке, функции any() и all() помогают сделать это просто и эффективно.

Использование any() и all() позволяет легко и эффективно проверять условия в списках и других итерируемых объектах, минимизируя необходимость в длинных и сложных циклах.

🔗 Python tricks

Python tricks | Хитрости Питона

15 Sep, 09:10


Использование collections.Counter для подсчета частоты элементов в коллекции

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

14 Sep, 16:11


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

14 Sep, 09:09


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

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

Использование метода get() делает ваш код более безопасным и позволяет легко обрабатывать случаи, когда ключ отсутствует в словаре, не вызывая сбоев в работе программы.

🔗 Python tricks

Python tricks | Хитрости Питона

13 Sep, 16:10


Использование списковых включений (list comprehensions) для создания списков

Списковые включения — это удобный и компактный способ создания новых списков, основанных на существующих итерируемых объектах, с возможностью применения условий и преобразований.

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

🔗 Python tricks

Python tricks | Хитрости Питона

13 Sep, 09:10


Использование with для автоматического закрытия файлов

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

🔗 Python tricks

Python tricks | Хитрости Питона

12 Sep, 16:13


Использование f-string для форматирования строк с вычислениями

Когда вам нужно встроить вычисления прямо в строку или форматировать вывод значений переменных, f-string (форматированные строки) — это быстрый и удобный способ сделать это.

Использование f-string позволяет упростить форматирование строк и объединить в одной строке текст с результатами вычислений, что делает код более чистым и эффективным.

🔗 Python tricks

Python tricks | Хитрости Питона

12 Sep, 09:09


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

11 Sep, 16:11


Использование zip() для объединения нескольких списков

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

🔗 Python tricks

Python tricks | Хитрости Питона

11 Sep, 09:08


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

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

10 Sep, 16:09


Использование множественного присваивания для обмена значениями переменных

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

10 Sep, 09:13


Использование enumerate() для итерации по списку с индексами

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

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

🔗 Python tricks

Python tricks | Хитрости Питона

09 Sep, 16:12


math.fmod

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

🔗 Python tricks

Python tricks | Хитрости Питона

09 Sep, 09:08


math.isnan

Функция math.isnan() используется для проверки, является ли значение NaN (Not a Number, не число). Эта функция возвращает True, если переданное значение является NaN, и False в противном случае.

🔗 Python tricks

Python tricks | Хитрости Питона

08 Sep, 17:34


NumPy: array_split

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

🔗 Python tricks

Python tricks | Хитрости Питона

08 Sep, 16:10


Использование try-except-else для безопасного выполнения кода с обработкой ошибок

Когда вам нужно выполнить код, который может вызвать исключение, и при этом вы хотите добавить логику, которая будет выполняться только в случае отсутствия ошибок, блок try-except-else помогает организовать это грамотно.

Использование try-except-else позволяет делать код более устойчивым к ошибкам, обеспечивая выполнение дополнительной логики только при успешном выполнении основного кода.

🔗 Python tricks

Python tricks | Хитрости Питона

08 Sep, 09:08


Быстрое чтение файла и удаление пробелов с помощью strip()

Когда вам нужно прочитать файл и удалить лишние пробелы или символы новой строки из каждой строки, использование strip() внутри генератора списков — эффективный и удобный способ.

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

🔗 Python tricks

Python tricks | Хитрости Питона

07 Sep, 16:12


F-строки

Сложно делать что-либо без строк в Python и чтобы сохранить адекватность, вам нужно иметь структурированный способ работы со строками. Большая часть людей, работающих с Python, предпочитают метод format python.

🔗 Python tricks