Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 28.04.2022
Сообщений: 15

Декоратор, декорируемая функция

04.12.2022, 13:31. Показов 992. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите декоратор, который будет считать, сколько раз была вызвана декорируемая функция
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.12.2022, 13:31
Ответы с готовыми решениями:

Написать простой декоратор, используя декоратор wraps, для передачи данных от оригинальной функции
На python Написать простой декоратор, используя декоратор wraps, для передачи данных от оригинальной функции. Реализовать простую функцию...

Функция декоратор
Напишите простую программу для создания цепочки декораторов функций для форматирования текста html (жирный, курсив, подчеркивание)....

Декоратор
Нужно создать декоратор который будет обрамлять введенный текст знаком "=". Вывод должен быть таким: ========== =Hello, World!= ...

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38194 / 21127 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
05.12.2022, 12:41
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
d={}
 
def counter(di):
    def _counter(f):
        def wrapper(*args):
            nam=f.__name__
            if di.get(nam) is None:
                di[nam]=1
            else:
                di[nam]+=1
            return f(*args)
        return wrapper
    return _counter    
 
 
@counter(d)    
def f(x,y):
    return x+y
    
@counter(d)  
def g(x):
    return 1/(x**2+1)
 
print(f(55,77))    
print(g(2))
print(g(-2))
 
print(d)

В словаре d под соответствующими ключами лежит количество вызовов каждой декорированной функции.
1
1 / 1 / 0
Регистрация: 28.04.2022
Сообщений: 15
08.12.2022, 10:23  [ТС]
нужен 1 декоратор, можно использовать модуль count!
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
08.12.2022, 14:21
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def counter(f):
    def wrapper(*args):
        f.count += 1
        print(f'Функцию {f.__name__} вызывали {f.count} ')
        return f(*args)
 
    f.count = 0
    return wrapper
 
 
@counter
def f(x, y):
    return x + y
 
 
@counter
def g(x):
    return 1 / (x ** 2 + 1)
 
 
print(f(55, 77))
print(g(2))
print(g(-2))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2022, 14:21
Помогаю со студенческими работами здесь

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

Декоратор
Не могу понять зачем использовать в декораторах from functool import wraps вот пример с @wraps и без wraps и работают одинаково. Для...

Декоратор
всем привет, задание такое # Написать декоратор, который будет логировать (записывать в лог файл) # ошибки из декорируемой функции и...

Декоратор
print("Как твои дела? Хорошо") def how_are_you(func): print("А у меня не очень. Ладно держи свою функцию") @how_are_you ...

Декоратор
Помогите пожалуйста с решением задачи. Код написал, но где-то, что-то не так... Задача: Создать декоратор для функции, которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru