为什么添加装饰器后没有调用函数运行代码后还是会执行函数

问题遇到的现象和发生背景

学习装饰器时,没有调用函数,运行代码时还是会执行,这是什么原因?

用代码块功能插入代码,请勿粘贴截图

def outer(origin):
def inner():
print('before')
res = origin() # 调用原来的func函数
return res

return inner()

@outer # func=outer(func)
def func():
print('我是func函数')
value = (11, 22, 33, 44)
return value

运行结果及报错内容

before
我是func函数
以上是运行结果,会自动运行打印内容

img

我想要达到的结果

希望能解答一下

请把代码写完整一点

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^