Войти Создать аккаунт

Декораторы · 11 из 14

Один раз за запуск

Справочник индексов читается с диска три секунды. Нужен он не всегда, но если понадобился — дальше к нему обращаются весь день, и читать файл заново на каждое обращение отделение позволить себе не может.

Что сделать

Прочитайте справочник индексов один раз за запуск — а дальше отдавайте прочитанное.

Что приходит

  • rabota — функция без аргументов, долго читает справочник

Что вернуть

Обёртку: первое обращение зовёт rabota и запоминает результат, следующие отдают его, даже None; поле gotovo — было ли выполнено, метод zabyt() — всё заново; имя сохраняется.

Допишите функцию odin_raz в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

Перед вызовом
vyzovy = []

@odin_raz
def spravochnik():
    vyzovy.append(1)
    return {"660000": "Красноярск"}
do = spravochnik.gotovo
spravochnik()
spravochnik()
Вызов
(do, spravochnik(), len(vyzovy), spravochnik.gotovo)
Вернуть
(False, {'660000': 'Красноярск'}, 1, True)
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.