В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Проверьте два отдельных экземпляра: в safe-режиме команда движения при открытых дверях отклоняется и состояние не меняется; в unsafe-режиме та же последовательность допускает движение по условию задачи.
Более зрелый вариант — атомарное условное списание в PostgreSQL с проверкой результата. Оно защищает общий баланс между процессами и экземплярами приложения, а не только внутри одного event loop.
В comprehension задайте значение аргумента по умолчанию у lambda: [lambda i=i: i for i in iterable]. Оно вычисляется при создании каждой функции, а не при её последующем вызове.
Используйте sorted(d.items(), key=lambda pair: pair[1]): результатом будет список пар, упорядоченных по значению. Если нужен словарь в таком порядке обхода, оберните результат в dict().
Будет выведено True True True True с пробелом после каждого значения. range(3, 0, -1) содержит 3, 2 и 1, все они истинны, а range можно обходить повторно.
Откройте файл через with и итерируйтесь по файловому объекту: for line in stream. В память будет попадать очередная строка и буфер, а не содержимое всего файла.
Функция читает огромный файл целиком и создаёт несколько копий; проверка наличия @ не распознаёт email. Для экономии памяти обрабатывайте строки по одной и отдавайте найденные кандидаты итератором.
Square нарушает контракт изменяемого Rectangle, если ширину и высоту прямоугольника можно менять независимо. После set_width(3), set_height(4) площадь Square будет 16, а ожидаемая для Rectangle — 12.
Добавьте метод ModelAdmin в list_display и возвращайте безопасно сформированную ссылку через format_html(). URL формы строят reverse() по имени admin-маршрута, а не конкатенацией строки.
F() выполняет изменение относительно текущего значения прямо в SQL: update(counter=F('counter') + 1). Это устраняет потерю инкрементов из-за схемы «прочитать в Python, увеличить, записать».
В Python используйте max(values): он просматривает список один раз, за O(n) времени и O(1) дополнительной памяти. Для пустого списка заранее выберите поведение: ошибка или default.