编写一个闭包函数,要实现的功能是计数功能
大家好,我是皮皮。
一、前言
前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。
二、解决过程
这里【东哥】给出了解答,其实这个题目就是在考你装饰器的内容。
代码如下:
count = 0
def wrapper(func):
def inner(*args, **kwargs):
global count
count += 1
result = func(*args, **kwargs)
return result
return inner
# while True:
# @wrapper
# def calc(count):
# print(count)
#
# calc(count)
for i in range(10):
@wrapper
def calc(count):
print(count)
calc(count)
注释的那块是死循环,不过代码稍微有点冗余。
这里更新了下,如下:
count = 0
def wrapper(func):
def inner(*args, **kwargs):
global count
count += 1
result = func(*args, **kwargs)
return result
return inner
@wrapper
def calc():
print(count)
calc()
因为调用了一次,下面再加一个calc(),这样效果就出来了。
三、总结
大家好,我是皮皮。这篇文章主要分享了Python的装饰器问题,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。
最后感谢粉丝【杰】提问,感谢【月神】、【东哥】给出的具体解析和代码演示,感谢【dcpeng】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。