Веб-версияОткрыть в Telegram

ПостРазвёрнутое пояснение:

28 августа 2026
P
Python: задачки и вопросы
ОтветОпрос
Развёрнутое пояснение: 1. При определении функции log_event создаётся один пустой список buffer, который используется как значение по умолчанию. 2. Первый вызов log_event со строкой timeout добавляет эту строку в общий список и возвращает его, результат сохраняется в переменную a. 3. Второй вызов log_event со строкой 403 использует тот же список buffer, добавляет строку 403 и возвращает его, результат сохраняется в переменную b. 4. Переменные a и b указывают на один и тот же объект, поэтому print(a, b) выводит ['timeout', '403'] ['timeout', '403']. Почему это важно: изменяемый аргумент по умолчанию часто встречается в функциях-логгерах, кэширующих обёртках и накопителях метрик, но на деле он работает как глобальное состояние между вызовами. В многопоточном коде это создаёт состояние гонки, а в тестах — нестабильные результаты. Правильный паттерн: buffer=None и создание нового списка внутри функции.
332 ·

Рядом в ленте

PPython: задачки и вопросыРазвёрнутое пояснение: 1. Внутри report создаётся объект map, который при обходе вычисляет len для каждой строки. 2. sum(sizes) проходит по всем элементам: 3 + PPython: задачки и вопросыОпрос
это сообщение
PPython: задачки и вопросыОпросPPython: задачки и вопросыРазвёрнутое пояснение: 1. Создаётся список services = ['api', 'auth', 'db']. 2. Вызов dict.fromkeys(services, []) создаёт словарь, где каждому ключу присвоена с
PPython: задачки и вопросыPython: задачки и вопросы@quiz_python · канал · Технологии
6 902подписчиков253средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем