当前位置 : 主页 > 编程语言 > python >

编写一个闭包函数,要实现的功能是计数功能

来源:互联网 收集:自由互联 发布时间:2022-06-15
大家好,我是皮皮。 一、前言 前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。 二、解决过程 这里【东哥】给出

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。

编写一个闭包函数,要实现的功能是计数功能_Python库

二、解决过程

这里【东哥】给出了解答,其实这个题目就是在考你装饰器的内容。

编写一个闭包函数,要实现的功能是计数功能_Python入门_02

代码如下:

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)

注释的那块是死循环,不过代码稍微有点冗余。

编写一个闭包函数,要实现的功能是计数功能_Python库_03

这里更新了下,如下:

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(),这样效果就出来了。

编写一个闭包函数,要实现的功能是计数功能_Python3_04

三、总结

大家好,我是皮皮。这篇文章主要分享了Python的装饰器问题,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

最后感谢粉丝【杰】提问,感谢【月神】、【东哥】给出的具体解析和代码演示,感谢【dcpeng】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。




网友评论