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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Использование файла .env для управления конфигурациями

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks
Использование ORM SQLAlchemy для работы с базами данных вместо "чистого" SQL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks