Перечисления
Python3 поддерживает простой механизм работы с перечислениями. Спасибо классу Enum.
Перечисления удобно использовать для хранения списков констант. Иначе константы беспорядочно расположены в коде.
Из документации по Python 3 можно узнать о том, что перечисление — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность. Перечисления можно перебирать (итерировать).
Элементы перечисления хэшируемые. То есть программист может использовать их в словарях и множествах. Вспомним, что хэш позволяет создавать высокопроизводительные структуры. Используйте хэш-функции для сокращения объема данных.
#enum
Python3 поддерживает простой механизм работы с перечислениями. Спасибо классу Enum.
Перечисления удобно использовать для хранения списков констант. Иначе константы беспорядочно расположены в коде.
Из документации по Python 3 можно узнать о том, что перечисление — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность. Перечисления можно перебирать (итерировать).
Элементы перечисления хэшируемые. То есть программист может использовать их в словарях и множествах. Вспомним, что хэш позволяет создавать высокопроизводительные структуры. Используйте хэш-функции для сокращения объема данных.
#enum
⚡ Итераторы — это что?
Итератор — это объект, который помогает обходить ту или иную последовательность.
Знаю, ничего не понятно. Приведу пример:
У вас есть тележка с камнями, а вам необходимо перенести их в другую тележку.
Вы можете просто взять эти несколько камней в руки и перенести их. Это и быстрее, и эффективнее, но что делать, если камней больше? 5, 20, 50?
Очевидно, что тогда легче будет таскать их по одному.
В таком случае, вы выступаете итератором, перетаскивая камни, которые необходимы только в данный момент.
Камни — это некий набор чисел, руки — оперативная память, а вы — посредник (итератор).
Итератор — это объект, который помогает обходить ту или иную последовательность.
Знаю, ничего не понятно. Приведу пример:
У вас есть тележка с камнями, а вам необходимо перенести их в другую тележку.
Вы можете просто взять эти несколько камней в руки и перенести их. Это и быстрее, и эффективнее, но что делать, если камней больше? 5, 20, 50?
Очевидно, что тогда легче будет таскать их по одному.
В таком случае, вы выступаете итератором, перетаскивая камни, которые необходимы только в данный момент.
Камни — это некий набор чисел, руки — оперативная память, а вы — посредник (итератор).
This media is not supported in your browser
VIEW IN TELEGRAM
Как новички вкатываются в программирование 😅
Отправляем универсальные уведомления
Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации.
В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify.
Если не уверены, какие аргументы нужно передать для отправки уведомления, то можете посмотреть их через атрибут required у созданного объекта.
Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение.
#уведомления #notifiers
Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации.
В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify.
Если не уверены, какие аргументы нужно передать для отправки уведомления, то можете посмотреть их через атрибут required у созданного объекта.
Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение.
#уведомления #notifiers
К чему приведет обращение к непустому списку по индексу -1?
Anonymous Poll
51%
вернется последний элемент
10%
будет ошибка IndexError
0%
вернется первый элемент
4%
ошибка KeyError
35%
Узнать ответ
⚡️ Модуль pympler
Наверное, много кому было интересно, насколько его приложение оптимизированное и что ещё можно улучшить.
В этом поможет библиотека под названием pympler: она может и отслеживать, и анализировать использование памяти разными объектами.
Скачивается она с помощью этой команды:
Кроме того, с его помощью можно анализировать использование памяти в django, что может быть полезно при подборе сервера для сайта.
Наверное, много кому было интересно, насколько его приложение оптимизированное и что ещё можно улучшить.
В этом поможет библиотека под названием pympler: она может и отслеживать, и анализировать использование памяти разными объектами.
Скачивается она с помощью этой команды:
pip install pymplerВ этот модуль заложен довольно большой функционал. Он позволяет, помимо обычного просмотра размера объектов, отслеживать утечки памяти, а также следить за использованием классов.
Кроме того, с его помощью можно анализировать использование памяти в django, что может быть полезно при подборе сервера для сайта.
⚡️ Тестирование и модуль pytest
Автоматическое тестирование — это проверка приложения на все возможные баги не человеком, а заранее написанным для этого кодом.
Оно позволяет при изменении какой-либо части кода проверить, не появились ли ошибки в остальных.
В этом нам поможет pytest. Скачать этот модуль можно с помощью команды:
Автоматическое тестирование — это проверка приложения на все возможные баги не человеком, а заранее написанным для этого кодом.
Оно позволяет при изменении какой-либо части кода проверить, не появились ли ошибки в остальных.
В этом нам поможет pytest. Скачать этот модуль можно с помощью команды:
pip install pytest
Более подробную документацию понятным (английским) языком о модуле можно найти на этом сайте.stribny.name
Testing Python Applications with Pytest
A complete guide to testing Python applications with Pytest, pytest plugins and other test libraries.
Библиотека newspaper3k
Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.
Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.
Библиотеку необходимо установить:
Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.
Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.
Библиотеку необходимо установить:
pip install newspaper3k#парсинг #parsing
⚡️ Модуль Matplotlib
Matplotlib — это модуль для визуализации данных. Он имеет довольно большой функционал, различные способы вывода и даже графики.
Скачать его можно с помощью:
От одного просто графика до нескольких с разными градиентами, круговыми диаграммами, 3D-визуализацией и т.д. Более подробно расписано на официальном сайте.
Также он поддерживает несколько способов отображения данных, но вам потребуется скачать дополнительные библиотеки.
Кроме того, им поддерживается вывод в svg файл, в веб браузер, GTK3 и в приложение. Более подробно можно просмотреть введя команду matplotlib.use('?').
Matplotlib — это модуль для визуализации данных. Он имеет довольно большой функционал, различные способы вывода и даже графики.
Скачать его можно с помощью:
pip install -U matplotlibЭтот модуль очень легко конфигурируется, что позволяет ему отображать данные самыми разными способами.
От одного просто графика до нескольких с разными градиентами, круговыми диаграммами, 3D-визуализацией и т.д. Более подробно расписано на официальном сайте.
Также он поддерживает несколько способов отображения данных, но вам потребуется скачать дополнительные библиотеки.
Кроме того, им поддерживается вывод в svg файл, в веб браузер, GTK3 и в приложение. Более подробно можно просмотреть введя команду matplotlib.use('?').
Каким будет результат выполнения кода?
Anonymous Poll
35%
Готово
38%
Найдено
8%
Найдено Готово
8%
Error
8%
Ничего
4%
Узнать ответ
This media is not supported in your browser
VIEW IN TELEGRAM
Ptpython: улучшенный REPL для Python
Ptpython — это улучшенный интерфейс командной строки для Python, который добавляет несколько полезных возможностей. Среди них проверка вводимых данных, автодополнение кода и не только.
Подробнее об это полезном модуле читайте в статье:
https://tprg.ru/HlbM
Ptpython — это улучшенный интерфейс командной строки для Python, который добавляет несколько полезных возможностей. Среди них проверка вводимых данных, автодополнение кода и не только.
Подробнее об это полезном модуле читайте в статье:
https://tprg.ru/HlbM