Python Skills 🐍
301 subscribers
1.02K photos
17 videos
302 links
Канал полезного и юмористического контента на тему программирования, в частности такого языка как Python.

По всем вопросам: @andrey_andrey01
Download Telegram
Функция zip подробнее

Разберемся как работает функция zip и где еще ее можно применять. Функция без с одним аргументом вернет собранные элементы, по одному в каждом. Чтобы увидеть внутренности объекта преобразуем его в list.

Полезно использовать, когда нужно собрать несколько кортежей или списков.
🐍 А вы знали? Выпуск №1.

В других языках такой конструкции нет, поэтому неудивительно - если для вас она выглядит слегка необычно.
Хеширование паролей Python
Для Python 3.x

Здесь пароли будут хешироваться для последующего сохранения в базе данных.

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

salt используется для предотвращения перебора по словарю (dictionary attack) и атак радужной таблицы (rainbow tables attacks).
PickleDB - это удобная key/value база данных для Python.
Под капотом работает на json модуле.

Установка командой pip install pickleDB

Доки здесь.
Вычисление размера объектов

Для вычисления размера объекта мы можем использовать функцию getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.

И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.

Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .

Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора.

#getsizeof
🐍 А вы знали? Выпуск №2.

Подробнее об этом модуле вы можете почитать в документации.
Использование time.sleep() в threading

Python Logging Cookbook является хорошим примером использования time.sleep(). Модуль логирования logging является потоко-безопасным, поэтому в данном примере он будет полезнее, чем операторы print().

Здесь для создания двух потоков используется модуль Python threading. Также создается объект входа, что будет вводить threadName в stdout. Затем начинаются оба потока и инициируется цикл для каждого входа из главного потока. Для фиксирования пользователя используется KeyboardInterrupt при нажатии ^Ctrl+C.
Использование Event.wait() в многопоточности Python. 1 ч.

Модуль threading предоставляет Event(), которого можно использовать как time.sleep(). Однако преимущество Event() в том, что он более отзывчив. Причина в том, что когда событие установлено, программа сразу выходит из цикла. В Python с time.sleep() коду надо будет подождать завершения вызова sleep() до выхода из потока.
‼️Для каждого нового поста, наконец появилась возможность оставлять комментарии.‼️
Anonymous Quiz
76%
😎
24%
😊
🐍 А вы знали? Выпуск №3.

Подробнее о map, вы можете почитать здесь.
А сколько у вас уже таких файлов?