0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83

Функция декоратор

18.04.2022, 18:17. Показов 1776. Ответов 8
Метки нет (Все метки)

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

Python
1
2
3
4
5
6
7
8
@bold
@italic
@underline
def get_text(name1, name2):
    return "hello " + name1 + " and " + name2
 
 
print(get_text("World", "People"))
Вглядеть должно <b><i><u>hello World and Peole</u></i></b>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2022, 18:17
Ответы с готовыми решениями:

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

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

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

8
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.04.2022, 18:30
Python
1
2
def bold(f):
    return lambda *x: f"<b>{f(*x)}</b>"
И т.д.
0
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
18.04.2022, 18:34  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
1
2
def bold(f):
return lambda *x: f"<b>{f(*x)}</b>"
И т.д.
Сорян, не работает
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.04.2022, 18:37
Да неужто?
1
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
18.04.2022, 18:39  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Да неужто?
Походу у меня руки кривые, не много не так записал, да, заработало, спасибо огроменное, осталось только разобрать все)
Дело еще в версии питона было...f строки не работают
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.04.2022, 18:42
Напиши без f-строк. В чем проблема?
0
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
18.04.2022, 19:01  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Напиши без f-строк. В чем проблема?
В общем не прокатывает по заданию
А как это уложить в шаблон функции?
Python
1
2
3
4
def bold():
  def wrapped():
        return
  return wrapped
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.04.2022, 19:17
Лучший ответ Сообщение было отмечено Stakanovec как решение

Решение

Ёлки-палки, думать принципиально не охота?
Python
1
2
3
4
def bold(f):
    def wrapped(*x):
        return "<b>" + f(*x) + "</b>"
    return wrapped
0
0 / 0 / 0
Регистрация: 02.09.2021
Сообщений: 83
18.04.2022, 19:23  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Ёлки-палки, думать принципиально не охота?
Я целый день сегодня думал, и был очень рядом, как оказалось
Python
1
2
3
4
5
def bold(x):
    def wrapped():
        return "<b>" + x() + "</b>"
 
    return wrapped
Это был мой вариант, но работает он только с одним аргументом, весь вопрос был просто в *, мелочь которую я просто не учел, а что касается остального, то у меня опыта в лямбдах и ф-строках пока что нет, и этого я пока не понимаю, но я ведь все таки учусь...
За ответ еще раз благодарю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2022, 19:23
Помогаю со студенческими работами здесь

Напишите декоратор
Напишите декоратор, который будет считать, сколько раз была вызвана декорируемая функция

Декоратор функции
Объявите функцию, которая принимает строку на кириллице и преобразовывает ее в латиницу, используя следующий словарь для замены...

Шаблон Декоратор
Напишите декоратор, который преобразует все символы верхнего регистра во входном потоке к нижнему регистру. Никогда не работал с...

Модуль декоратор
Написать @abs_fun который для функции с действительным знаком возвращает функцию, значения которой являются абсолютными значениями...

Реализуйте декоратор для декораторов
Добрый день! Прошу помочь с задачей: Заранее спасибо! Реализуйте декоратор для декораторов: он должен декорировать другую функцию,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru