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
Использование f-строк для форматирования строк

Форматирование строк — это распространённая задача в программировании, и Python предоставляет несколько способов сделать это. Один из самых удобных и читаемых — это использование f-строк (f-strings), которые появились в Python 3.6. f-строки позволяют встраивать выражения внутри строк, делая форматирование более простым и понятным.

Использование f-строк позволяет делать форматирование строк более интуитивным и сокращает вероятность ошибок, связанных с более старыми методами форматирования (например, с использованием оператора % или метода str.format())

🔗 Python tricks
Breakpoint

Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика.

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

При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y.

🔗 Python tricks
manim

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

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

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

🔗 Python tricks
statistics.stdev

Функция statistics.stdev из модуля statistics используется для вычисления стандартного отклонения выборки чисел. Стандартное отклонение — это мера разброса значений в выборке относительно их среднего значения. Чем больше стандартное отклонение, тем больше разброс значений относительно среднего.

🔗 Python tricks
statistics.mode

Функция statistics.mode из модуля statistics используется для вычисления моды последовательности чисел. Мода — это значение, которое наиболее часто встречается в последовательности. Функция statistics.mode работает только с числовыми и хешируемыми типами данных (например, строками). Если несколько значений встречаются одинаковое количество раз и чаще других, функция вернет первое встречающееся значение. Если в последовательности нет явно выраженной моды (т.е. все значения встречаются одинаковое количество раз), функция statistics.mode вызовет исключение StatisticsError.

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks
Статические методы в Python

Статические методы - это методы, которые не требуют создания экземпляра класса для вызова.
Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора @staticmethod.

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

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

🔗 Python tricks
Завершение программы

sys.exit()
это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.

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

🔗 Python tricks
math.expm1

Функция math.expm1 используется для вычисления значения e^x - 1, где e — это основание натурального логарифма, приблизительно равное 2.71828. Эта функция особенно полезна для вычисления значений, когда x близок к нулю, поскольку она обеспечивает более высокую точность, чем вычисление math.exp(x) - 1 напрямую.

🔗 Python tricks
list.pop

Метод pop() используется для удаления и возврата элемента из списка. По умолчанию удаляется и возвращается последний элемент списка, но можно также указать индекс элемента, который нужно удалить и вернуть. Если список пуст, pop() вызовет исключение IndexError.

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

Функция enumerate в Python — это удобный способ получать одновременно индекс и значение элемента при итерации по последовательности. Она особенно полезна для тех, кто часто работает с циклами и списками, и позволяет сделать код более чистым и читабельным.

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

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

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

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

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

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

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

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

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

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

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

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

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

🔗 Python tricks
random.choice

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

🔗 Python tricks
Однострочное условное выражение (тернарный оператор)

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

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

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

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

🔗 Python tricks