您的位置:首页 > 编程语言 > Python开发

python使用装饰器记录函数执行次数

2018-04-19 21:32 267 查看
版权声明:本文为博主原创文章,转载请注明出处: https://blog.csdn.net/qq_31603575/article/details/80011287
def set_func(func):
num = [0]   # 闭包中外函数中的变量指向的引用不可变
def call_func():
func()
num[0] += 1
print("执行次数",num[0])
return call_func

# 待测试方法
@set_func
def test():
pass

test()
test()
test()

# 执行次数 1
# 执行次数 2
# 执行次数 3

使用nonlocal 访问修改外部函数变量

def set_func(func):
num = 0   # 闭包中外函数中的变量指向的引用不可变
def call_func():
func()
nonlocal num # 使用nonlocal 访问修改外部函数变量
num += 1
print("执行次数",num)
return call_func

# 待测试方法
@set_func
def test():
pass

test()
test()
test()

# 执行次数 1
# 执行次数 2
# 执行次数 3
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: