Munch – вседозволенный объект

Привет. Хочу познакомить вас библиотекой Munch, которая является форком более старой библиотеки Bunch. Рассмотрим суть проблемы, которую она решает. Задать атрибуты объекта, не описывая их по одному в конструкторе. Легче понять на примере: Видно, что object нам не поможет. Но в Python 3 можно сделать пустой класс, это не вызовет ошибки: И в принципе этого…

Короткое замыкание

Поговорим о логических операциях. Допустим у нас есть цепочка из or:  Чтобы print сработал, нужно, чтобы хотя бы один из трех вызовов давал бы True (или приводился к True). Что если x() сразу вернет True? Тогда, очевидно, все выражение будет равняться True в любом случае и независимо от того, что будет в y() и z().…

​​Анимация Jupyter Notebook

Сегодня мы будем анимировать график прямо внутри Jupyter Notebook. Сперва сделаем плавную отрисовку графика. Переключим режим отображения графиков в notebook: Импортируем все, что нужно: Сгенерируем наши данные: Создадим пустой график: Функция animate будет вызываться при отрисовка каждого кадра, аргумент i – номер кадра: Запускаем анимацию: Если мы хотим анимировать сами данные, например, заставить синусоиду «плясать»,…

Временные файлы и директории

Временные файлы и директории нужны, если промежуточные данные слишком велики, чтобы держать их в оперативной памяти. Или бывают случаи, что программа или компонент обрабатывает только файлы и не может принимать данные по другим каналам. Для создания временных файлов и директорий есть модуль tempfile. Удобно, что временные файлы создаются в специальном месте ФС и удаляются автоматически…

Абстрактный класс ABC

Абстрактный класс – класс, содержащий один и более абстрактных методов. Абстрактный метод – метод, который объявлен, но не реализован. Абстрактный класс не может быть инстанциирован (создан его экземпляр). Нужно наследовать этот класс и реализовать (переопределить) все абстрактные методы, и только после этого можно создавать экземпляры такого наследника. В Python нет синтаксической поддержки абстрактных классов, но…