Python函数调用跟踪装饰器

1、说明

函数也是Python function对象,所以同样的,它也具有任意属性,这有时候是有用的。

2、实例

defcalltracker(func):
@wraps(func)
defwrapper(*args,**kwargs):
wrapper.calls+=1
returnfunc(*args,**kwargs)
wrapper.calls=0
returnwrapper

@calltracker
deff():
return'fcalled'
>>>f.calls
>>>f()
'fcalled'
>>>f.calls
1
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。