0

Помните разобраться

Написал декоратор для функции, но что то не работает def decor(func): def scil(): print("***") func() print("***\nEND OF PAGE") return scil @decor def invoice(num): print("INVOICE #" +num) invoice(input());

5th Aug 2021, 12:51 PM
Владимир Жуков
Владимир Жуков - avatar
2 Réponses
+ 4
Function that you are passing to decorator takes one argument . When decorator is called , it calls func() without any argument which raises an error . To pass an argument to it you should do it the following way, def scil(arg): print("***") func(arg) print("***\nEND OF PAGE") return scil Функция, которую вы передаете декоратору, принимает один аргумент. Когда вызывается декоратор, он вызывает функцию func () без аргументов, что вызывает ошибку. Чтобы передать ему аргумент, вы должны сделать это следующим образом: def scil (аргумент): Распечатать("***") функция (аргумент) print ("*** \ nEND СТРАНИЦЫ") вернуть scil
5th Aug 2021, 12:54 PM
Abhay
Abhay - avatar
0
Thanks 😊👍
5th Aug 2021, 4:04 PM
Владимир Жуков
Владимир Жуков - avatar