python装饰器TypeError: 'NoneType' object is not callable

#定义这个装饰器
def decorator(func):
print("start")
func()#运行原函数
print(func) #<function add at 0x000002167897E830>
print(func())# None
print("end")
return func #不能返回为空,所以不能用func()

@decorator
def add():
print("add")
add()




#再定义一个装饰器
def delete(func):
print("delete")
return func
#定义一个装饰器
def cal(function=None):



def decorator(func):
print("start")
# func()#运行原函数
print(func) #<function add at 0x000002167897E830>

print("end")
return func

if function==None:
return decorator
else:
return decorator(function)
#装饰的装饰
@cal(delete)
def add():
print("add")
add()

start
<function delete at 0x00000234CAA03F40>
end
delete
add




posted @   老运维  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示