Найти в Дзене
MRO или Method Resolution Order в Python
MRO - Это порядок разрешения методов и о нем обычно говорят, когда речь заходит о множественном наследовании (кстати, если с ним не знакомы, настоятельно рекомендую немного покопаться в теме). Он определяет последовательность, по которой Python ищет методы и атрибуты в классе и его родителях. Чтобы чуть глубже понять, предлагаю рассмотреть принцип его работы на конкретном примере. Допустим, у нас есть некий класс D, который наследуется от классов B и C, которые наследуются от класса A, который ....
10 месяцев назад
defaultdict в Python
Что еще за defaultdict и зачем нам еще один dict? Давайте об этом и поговорим в статье. Это подкласс встроенного класса dict, который вызывает фабричную функцию, позволяющую задать дефолтное значение для новых / несуществующих ключей. Во всем остальном он схож с уже знакомым нам dict. Если упростить и вывести термин, опираясь на название, то получается, что это просто словарь с значениями по умолчанию. Аргументы Первый аргумент предоставляет начальное значение для атрибута default_factory, которое по умолчанию равно None...
1 год назад
Автоматическое присваивание значений в Enum
Представим ситуацию: вы любите все структурировать и храните много данных в енамах: Enum, StrEnum, IntEnum и так далее. В какой-то момент обязательно накопится большое количество структур, где символическое имя будет равно значению, как в примере ниже: Как красиво выйти из этой ситуации? Об этом мы и поговорим. В первую очередь, стоит обратить внимание на класс auto из Enum. Он позволяет нам автоматически присваивать значения для каждого символического имени, мы можем просто указать его в виде значений:...
1 год назад
Элегантное подавление исключений с contextlib.suppress
Бывает так, что какой-либо метод при работе программы выдает исключение, но нам не надо его обрабатывать каким-нибудь хитрым образом, а достаточно лишь подавить исключение и идти дальше. Это можно сделать с помощью классического try-except, но есть и более элегантный способ. Когда это может пригодиться и как пользоваться? Об этом и поговорим в статье. Делать это без надобности строго не рекомендуется. Но бывают моменты, когда мы знаем, почему вызывается исключение и уверены, что оно не несет никаких рисков для нас...
1 год назад
Немного про лямбда-функции в Python
Что это такое? Lambda или анонимные функции - это по сути небольшие функции без имени, написанные в одну строку. Для их объявления нам не нужно следовать классической схеме - указывать литерал def и имя будущей функции. Нам достаточно следовать такой конструкции: lambda arguments : expression Это и есть весь синтаксис лямбда-функций. Главные моменты: Как и когда использовать? Чаще всего, лямбда-функции используют в нескольких случаях: Рассмотрим чуть подробнее. Лямбда-функция как аргумент в других функциях Очень удобно применять лямбда-функции при работе с map() и filter()...
1 год назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала