Pro Python • IT
4.17K subscribers
1.46K photos
148 videos
45 files
1.42K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
🔥12❤4🏆3😁2👍1
Сжатие и распаковка данных

В Python модуль zlib позволяет работать со сжатыми данными без использования внешних утилит.

Функция compress используется для сжатия данных.
Она принимает два аргумента: сами данные и уровень сжатия, который может варьироваться от 1 до 9 (значение по умолчанию равно 6).


Для распаковки сжатых данных применяется функция decompress.
Если заранее неизвестно, какого размера будут распакованные данные, можно передать
-1
, чтобы получить все данные целиком.


При работе с данными важно помнить, что они обрабатываются как байтовые объекты.

Python Tech Code - подписаться
⚡6👍4❤2
Обработчик завершения программы

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

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


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

Python Tech Code - подписаться
👍15🔥4✍2👌2
Обработка JSON-данных

В Python пакет JMESPath используется для выполнения запросов к JSON-данным.
Он поддерживает операции фильтрации, агрегирования и навигации по структуре JSON.

Установка пакета:
pip install jmespath


Основные методы:
• search() - основной метод для выполнения запросов в языке JMESPath и извлечения данных из структур данных;
• compile() - метод для компиляции выражения JMESPath (компилирование выражения может помочь улучшить производительность при многократном его использовании).


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

Python Tech Code - подписаться
👍16🔥6❤2
Что выведет этот код?
Anonymous Quiz
19%
[1j, 2, 3j]
19%
[3j, 1j, 2]
49%
Ошибку
13%
Узнать ответ
👍9👨‍💻4🔥3😎2
Моделирование логнормальных величин

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

Это распределение встречается в различных природных явлениях, особенно при анализе процессов роста или накопления.

В этом примере создаем случайное число с логарифмически нормальным распределением, где среднее значение равно 0, а стандартное отклонение равно 1.

Функция random.lognormvariate принимает два аргумента: первое - это среднее значение (mu), второе - это стандартное отклонение (sigma).


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

Python Tech Code - подписаться
👍6⚡4✍2🔥1😎1
Исследование комплексных чисел

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

Создание комплексного числа:
z = complex(2, 3)  
# z = 2 + 3j, где j - мнимая единица


У комплексных чисел есть несколько полезных атрибутов:
.real - возвращает действительную часть комплексного числа;
.imag - возвращает мнимую часть комплексного числа;
.conjugate() - возвращает комплексно-сопряженное число комплексного числа.


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

Python Tech Code - подписаться
👍8🫡5🔥1
Контроль целостности данных

Функция adler32() из модуля zlib позволяет вычислять контрольную сумму данных.

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

Python Tech Code - подписаться
❤6✍3👍1
Что выведет этот код?
Anonymous Quiz
40%
5
24%
5.0
16%
5.25
14%
Ошибку
6%
Узнать ответ
❤9😁7✍3👍3🔥2🤔2🆒1
Генерация комбинаций

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

Синтаксис:

itertools.product(*iterables, repeat=1)

где:
iterables - это переменное количество аргументов, каждый из которых является итерируемым объектом (списком, кортежем и т.д.), содержащим элементы для комбинирования;

repeat - (необязательный) параметр, который определяет сколько раз каждый элемент должен быть повторен в комбинациях. Значение по умолчанию: 1.


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

Python Tech Code - подписаться
👍6🔥3❤2🫡1
Определение порядка элементов по их частоте

Метод elements() объекта Counter класса collections возвращает итератор, который перебирает элементы в порядке убывания их частоты.

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


Таким образом, метод elements() позволяет получить элементы в порядке их частоты, начиная с наиболее часто встречающихся элементов.

Python Tech Code - подписаться
🔥9❤2👍2✍1
Использование буфера в памяти

io.BytesIO в Python представляет собой класс, который позволяет создавать буфер в памяти для работы с байтовыми данными.

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

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


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

Python Tech Code - подписаться
👍5🔥3❤2
Что выведет этот код?
Anonymous Quiz
25%
14
17%
15
6%
None
37%
Ошибку
15%
Узнать ответ
👍14🔥3🤔3❤2😁1
Перезагрузка модулей

В Python функция importlib.reload() позволяет перезагрузить модуль без необходимости удалять его из памяти и повторно импортировать.

Использование importlib.reload(mymodule) заставит Python загрузить обновленную версию модуля, и любые изменения, внесенные в mymodule.py, будут отражены в последующих вызовах функций этого модуля.


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

Python Tech Code - подписаться
✍8❤5👍4
Получение информации о памяти на диске

Функция disk_usage() из модуля shutil позволяет получить информации о занятом и доступном пространстве на диске.

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


Обратите внимание, что функция shutil.disk_usage() принимает путь к директории (по умолчанию используется текущая директория).

Python Tech Code - подписаться
🔥6❤3👍2
Моделирование гамма-распределенных величин

В Python функция gammavariate() из модуля random используется для генерации случайных чисел из гамма-распределения.

Гамма-распределение представляет собой непрерывное распределение вероятностей, которое широко применяется в статистике и теории вероятностей.

Оно определяется двумя параметрами: α (альфа) и β (бета).


Стоит учесть, что результатом работы функции gammvariate() могут быть дробные числа.

Python Tech Code - подписаться
👍3🫡2🆒2🔥1