19

Дневная сводка: python libr — 2026-06-19

Два поста канала: одна тонкая техническая деталь о поведении аргументов по умолчанию в Python и рекомендация русскоязычного учебника от основ до продвинутых тем.


Ключевые события и темы

func.defaults: ловушка изменяемых аргументов по умолчанию

Значения аргументов по умолчанию вычисляются один раз при определении функции и хранятся в кортеже func.__defaults__ — это приводит к тому, что изменяемые объекты (списки, словари) разделяются между всеми вызовами. Тот же механизм можно использовать намеренно для раннего связывания в лямбда-замыканиях внутри циклов (lambda x, n=n: x + n). Тема критична для понимания области видимости и жизненного цикла объектов.

def foo(x, lst=[]):
    lst.append(x)
    return lst

print(foo(1))  # [1]
print(foo(2))  # [1, 2]  — список не сбрасывается!

Ссылки:

Книга «Python. Полное руководство»

Анонс русскоязычного учебника, построенного по принципу «от простого к сложному»: первая часть — переменные, типы данных, множества, генераторы, итераторы, модули; вторая — ООП, метапрограммирование, многопоточность, документирование и оптимизация. Подходит как для начинающих, так и для систематизации знаний.

Ссылки:


Итог

Небольшой, но полезный день: одна практическая ловушка языка, на которой часто обжигаются даже опытные разработчики, плюс рекомендация структурированного учебника на русском. Оба материала ориентированы на углубление понимания Python, а не на новости экосистемы.