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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Использование Counter из модуля collections для подсчета элементов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks
Библиотека Typer

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

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

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

🔗 Python tricks
Функция sorted

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

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

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

🔗 Python tricks
Pyspark

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks