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

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

Декоратор класса

Задействованы также: ООП

Зинаида Петровна хочет знать, чем вообще занимается программа отделения: какие операции зовут сто раз в день, а какие — ни разу. Вешать счётчик на каждый метод руками — двадцать строчек и гарантированно забытый метод.

Что сделать

Посчитайте, какие операции программа отделения зовёт и сколько раз, — одним декоратором на весь класс.

Что приходит

  • klass — класс, к которому приписать счётчики

Что вернуть

Тот же класс со словарём obrashcheniya «метод → сколько раз вызван» по всем методам без подчёркивания в начале, сначала нули; счёт общий для всех экземпляров.

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

Пример

У класса Okno методы prinyat и vydat. Первое окно приняло, второе приняло и выдало: Okno.obrashcheniya — {"prinyat": 2, "vydat": 1}. __init__ не считается.

Ctrl+Enter — проверить

Обсуждение

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

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