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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Быстрое форматирование и вывод JSON данных

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

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

🔗 Python tricks
Тернарный оператор

Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.

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

В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия a > b.
— Для присваивания переменной result одного из двух значений в зависимости от четности a.

🔗 Python tricks
random.triangular

Функция random.triangular() используется для генерации случайных чисел из треугольного распределения. Треугольное распределение часто используется для моделирования сценариев, где значения имеют минимальные, максимальные и наиболее вероятные (режим) значения. Параметр low — нижняя граница (минимальное значение). По умолчанию 0.0. Параметр high — верхняя граница (максимальное значение). По умолчанию 1.0. Параметр mode — режим (наиболее вероятное значение). По умолчанию среднее значение между low и high.

🔗 Python tricks
Удобная работа с временными файлами и директориями

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

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

🔗 Python tricks
Быстрое создание миниатюр изображений

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

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

🔗 Python tricks
Быстрая замена значений в столбце DataFrame на основе условий

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

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

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

Иногда бывает нужно измерить время выполнения кода для оптимизации или анализа производительности. Это можно сделать с помощью встроенного модуля time.

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

🔗 Python tricks
Стать Python-разработчиком в 2024 году? Легко!

Записывайтесь на 14-дневный подготовительный курс. 

Старт уже 13 августа!

72 урока в онлайн, 3 встречи с наставником в режиме реального времени, 1 встреча для лайвкодинг-сессии, помощь наставника, а как итог – собственная программа и четкое понимание, в правильном ли IT-направлении вы двигаетесь.

Совершайте покупку 14-дневного курса до 15.08.2024 включительно и выполняйте домашние задания, после этого вы автоматически становитесь участником конкурса и получаете возможность выиграть полноценный курс по профессии “Python-разработчик”!

🎉 Победителя определим случайным образом через рандомайзер.
raise

Конструкция raise используется для генерации исключений.
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой raise.

Например:
raise ValueError('Invalid value')

Здесь мы генерируем исключение ValueError с сообщением об ошибке.

После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.

В этом примере функция calculate_discount проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise генерируется исключение ValueError с сообщением.

🔗 Python tricks
statistics.mean

Функция mean из модуля statistics используется для вычисления среднего арифметического (среднего значения) списка чисел. Она принимает в качестве аргумента последовательность числовых данных (например, список или кортеж) и возвращает их среднее значение.

🔗 Python tricks
math.copysign

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

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

Иногда бывает нужно измерить время выполнения кода для оптимизации или анализа производительности. Это можно сделать с помощью встроенного модуля time.

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

🔗 Python tricks
Объединение нескольких CSV файлов в один

Когда у вас есть несколько файлов CSV с одинаковой структурой, часто нужно объединить их в один для дальнейшего анализа или обработки. Библиотека Pandas позволяет сделать это очень просто и быстро.

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

🔗 Python tricks
Парсинг URL и получение компонентов

Когда вы работаете с веб-приложениями или анализируете веб-данные, часто нужно извлекать компоненты из URL, такие как протокол, домен, путь и параметры запроса. Библиотека urllib.parse позволяет сделать это легко.

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

🔗 Python tricks
tell()

Метод tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.

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

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

Метод tell() возвращает текущую позицию в файле в байтах от начала.

🔗 Python tricks
statistics.median_low

Функция statistics.median low из модуля statistics вычисляет низкую медиану последовательности чисел. Низкая медиана используется в случае, когда список имеет нечетное количество элементов, и возвращает значение, которое находится в “нижней” половине списка, то есть среди наименьших значений. В данном случае список data содержит нечетное количество элементов, и низкая медиана будет равна 5, так как это наименьшее значение в “нижней” половине списка.

🔗 Python tricks
list.insert

Метод insert() используется для вставки элемента в список на указанную позицию. Он позволяет добавить элемент в любое место списка, сдвигая текущие элементы вправо, чтобы освободить место для нового элемента.

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

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

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

🔗 Python tricks
Преобразование строки в "человеко-понятный" URL (слаг)

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

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

🔗 Python tricks
Использование функции functools.lru_cache для кэширования результатов

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

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

🔗 Python tricks