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
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
Безопасное извлечение вложенных значений из JSON с помощью dict.get

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

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

🔗 Python tricks
Автоматическое удаление временных файлов с помощью контекстного менеджера

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

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

🔗 Python tricks