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

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

大家好,我是皮皮。


一、前言


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

c640e1be2595577ae347a358180be5c4.png


二、解决过程


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

967e0f9d61645da93c39d8db64cc6691.png

代码如下:

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)

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

cdd1212f225a737161d340150573c2e.jpg

这里更新了下,如下:

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

e08eb941f6201179321afda65c5ebd82.png


三、总结


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


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


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


相关文章
|
3月前
|
C语言
C语言判断逻辑的高阶用法
在C语言中,高级的判断逻辑技巧能显著提升代码的可读性、灵活性和效率。本文介绍了六种常见方法:1) 函数指针,如回调机制;2) 逻辑运算符组合,实现复杂条件判断;3) 宏定义简化逻辑;4) 结构体与联合体组织复杂数据;5) 递归与分治法处理树形结构;6) 状态机管理状态转换。通过这些方法,可以更高效地管理和实现复杂的逻辑判断,使代码更加清晰易懂。
241 88
|
6月前
|
缓存 监控 程序员
Python中的装饰器是一种特殊类型的声明,它允许程序员在不修改原有函数或类代码的基础上,通过在函数定义前添加额外的逻辑来增强或修改其行为。
【6月更文挑战第30天】Python装饰器是无侵入性地增强函数行为的工具,它们是接收函数并返回新函数的可调用对象。通过`@decorator`语法,可以在不修改原函数代码的情况下,添加如日志、性能监控等功能。装饰器促进代码复用、模块化,并保持源代码整洁。例如,`timer_decorator`能测量函数运行时间,展示其灵活性。
51 0
|
5月前
|
开发者 Python
Python函数与模块使用方法
【7月更文挑战第24天】Python 是一种功能强大的编程语言,拥有丰富的函数和模块,使得开发者能够轻松地构建复杂的应用程序。本文将介绍 Python 中函数和模块的基本使用方法,并提供一些代码实例。
52 3
|
7月前
|
C语言
C语言计数控制循环的深入解析
C语言计数控制循环的深入解析
162 0
|
Python
学习Python语言的语法,例如函数、类、模块、循环中的类详解
学习Python语言的语法,例如函数、类、模块、循环中的类详解
69 1
|
Java
高级循环(附带小练习以及详细代码)
高级循环(附带小练习以及详细代码)
83 0
|
程序员
学C的第九天(深入学习函数:库函数、自定义函数、函数的参数、函数调用、练习、补充知识点)-2
5.5:练习(部分上一期做过,换成函数做法): (1).写一个函数可以判断一个数是不是素数:
|
程序员 编译器 C语言
学C的第九天(深入学习函数:库函数、自定义函数、函数的参数、函数调用、练习、补充知识点)-1
1.函数是什么: 维基百科中对函数的定义:子程序 * 在计算机科学中,子程序(英语:
实现一个函数,函数完成功能如下:
实现一个函数,函数完成功能如下:
|
存储 前端开发 JavaScript
Web前端学习:JaveScript基础 [简介、用法、变量及数据类型、流程控制及函数] (附源代码)
Web前端学习:JaveScript基础 [简介、用法、变量及数据类型、流程控制及函数] (附源代码)
270 0
Web前端学习:JaveScript基础 [简介、用法、变量及数据类型、流程控制及函数] (附源代码)

热门文章

最新文章