Найти в Дзене
Покупайте СтеллыИ дарите их за контент
1 год назад
 • Вы подписаны

MRO или Method Resolution Order в Python

MRO - Это порядок разрешения методов и о нем обычно говорят, когда речь заходит о множественном наследовании (кстати, если с ним не знакомы, настоятельно рекомендую немного покопаться в теме). Он определяет последовательность, по которой Python ищет методы и атрибуты в классе и его родителях. Чтобы чуть глубже понять, предлагаю рассмотреть принцип его работы на конкретном примере. Допустим, у нас есть некий класс D, который наследуется от классов B и C, которые наследуются от класса A, который ....

1 год назад
 • Вы подписаны

defaultdict в Python

Что еще за defaultdict и зачем нам еще один dict? Давайте об этом и поговорим в статье. Это подкласс встроенного класса dict, который вызывает фабричную функцию, позволяющую задать дефолтное значение для новых / несуществующих ключей. Во всем остальном он схож с уже знакомым нам dict. Если упростить и вывести термин, опираясь на название, то получается, что это просто словарь с значениями по умолчанию. Аргументы Первый аргумент предоставляет начальное значение для атрибута default_factory, которое по умолчанию равно None...

1 год назад
 • Вы подписаны

Автоматическое присваивание значений в Enum

Представим ситуацию: вы любите все структурировать и храните много данных в енамах: Enum, StrEnum, IntEnum и так далее. В какой-то момент обязательно накопится большое количество структур, где символическое имя будет равно значению, как в примере ниже: Как красиво выйти из этой ситуации? Об этом мы и поговорим. В первую очередь, стоит обратить внимание на класс auto из Enum. Он позволяет нам автоматически присваивать значения для каждого символического имени, мы можем просто указать его в виде значений:...

1 год назад
 • Вы подписаны

Элегантное подавление исключений с contextlib.suppress

Бывает так, что какой-либо метод при работе программы выдает исключение, но нам не надо его обрабатывать каким-нибудь хитрым образом, а достаточно лишь подавить исключение и идти дальше. Это можно сделать с помощью классического try-except, но есть и более элегантный способ. Когда это может пригодиться и как пользоваться? Об этом и поговорим в статье. Делать это без надобности строго не рекомендуется. Но бывают моменты, когда мы знаем, почему вызывается исключение и уверены, что оно не несет никаких рисков для нас...

2 года назад
 • Вы подписаны

Немного про лямбда-функции в Python

Что это такое? Lambda или анонимные функции - это по сути небольшие функции без имени, написанные в одну строку. Для их объявления нам не нужно следовать классической схеме - указывать литерал def и имя будущей функции. Нам достаточно следовать такой конструкции: lambda arguments : expression Это и есть весь синтаксис лямбда-функций. Главные моменты: Как и когда использовать? Чаще всего, лямбда-функции используют в нескольких случаях: Рассмотрим чуть подробнее. Лямбда-функция как аргумент в других функциях Очень удобно применять лямбда-функции при работе с map() и filter()...

2 года назад
 • Вы подписаны

Подчеркивания в именах Python. Коротко о главном

Без особых углублений в детали давайте разберем главные нюансы в применении подчеркиваний в именах Python. Рассмотрим все часто используемые варианты. Более детально некоторые аспекты буду освещать в будущих статьях. Приступим! 1. Игнорирование значений Игнорирование одного значения Часто можно встретить запись подобного вида: или такого: В этом случае одно подчеркивание позволяет нам опустить использование имени, когда оно попросту ненужно. По сути, мы просто присваиваем значение символу нижнего подчеркивания и дальше в коде его не используем...

Покупайте СтеллыИ дарите их за контент