pythonist cover copy

Копирование объектов в Python

Следует сразу сказать, что оператор присваивания = не создаёт копию объекта. Присваивание создаёт новую переменную, которая дублирует ссылку на исходный объект. Для примера давайте создадим из старого списка новый список …

pythonist cover lambda

Что такое лямбда-выражения?

Лямбды пришли в Python из языка Lisp. Это простые анонимные функции, записанные в одну строку. Их можно объявить даже там, где нельзя воспользоваться инструкцией def. Например, эти выражения часто используются …

List astonishment

В Python дефолтные аргументы инициализируются только при объявлении функции. Это значит, что изменения, которые делаются в мутабельных аргументах при вызове функции, сохраняются.

pythonist cover args kwargs

Что такое *args и **kwargs?

Иногда нельзя предсказать, сколько аргументов получит функция. Чтобы обработать их, используются специальные конструкции *args и **kwargs. На самом деле названия переменных – args, kwargs – это просто соглашение. Важны здесь …

pythonist cover decorators

Для чего нужны декораторы и как их использовать?

Функции и классы в Python – объекты удобные. Они сами могут быть входящими и исходящими аргументами функций. Это свойство можно использовать, чтобы сделать жизнь разработчика немного приятнее. Смысл паттерна Декоратор …