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

По всем вопросам: @andrey_andrey01
Download Telegram
А как вы заработали свой первые деньги в качестве программиста? 🌚
⚡️ Модуль Faker

faker
— это модуль для создания фейковых данных (имя, адрес или любой другой текст). Он отлично подойдёт для тестирования вашей программы.

Скачать его можно с помощью:

pip install Faker

Теперь пройдёмся по его командам:

Faker() — основной класс. Он принимает необязательный аргумент — строку локализации или их список.

Faker . name() (без точек) фальшивое имя. Создаётся на основе переданной локализации.

Faker.address() — Фальшивый адрес. Формат также задаётся локализацией.

Также, можно создать фальшивый ip-адрес, место работы и подобные данные, используя Providers
Каким будет результат выполнения кода?
Anonymous Poll
21%
4
11%
6
26%
2
26%
1
16%
Узнать ответ
Перечисления

Python3
поддерживает простой механизм работы с перечислениями. Спасибо классу Enum.

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

Из документации по Python 3 можно узнать о том, что перечисление — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность. Перечисления можно перебирать (итерировать).

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

#enum
Итераторы — это что?

Итератор — это объект, который помогает обходить ту или иную последовательность.

Знаю, ничего не понятно. Приведу пример:

У вас есть тележка с камнями, а вам необходимо перенести их в другую тележку.

Вы можете просто взять эти несколько камней в руки и перенести их. Это и быстрее, и эффективнее, но что делать, если камней больше? 5, 20, 50?

Очевидно, что тогда легче будет таскать их по одному.

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

Камни — это некий набор чисел, руки — оперативная память, а вы — посредник (итератор).
This media is not supported in your browser
VIEW IN TELEGRAM
Как новички вкатываются в программирование 😅
Отправляем универсальные уведомления

Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации.

В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify.

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

Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение.

#уведомления #notifiers
⚡️ Модуль pympler

Наверное, много кому было интересно, насколько его приложение оптимизированное и что ещё можно улучшить.

В этом поможет библиотека под названием pympler: она может и отслеживать, и анализировать использование памяти разными объектами.

Скачивается она с помощью этой команды:

pip install pympler

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

Кроме того, с его помощью можно анализировать использование памяти в django, что может быть полезно при подборе сервера для сайта.
⚡️ Тестирование и модуль pytest

Автоматическое тестирование — это проверка приложения на все возможные баги не человеком, а заранее написанным для этого кодом.

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

В этом нам поможет pytest. Скачать этот модуль можно с помощью команды:
pip install pytest

Более подробную документацию понятным (английским) языком о модуле можно найти на этом сайте.