十一、装饰器

简介: 装饰器的功能就是在不改变原程序代码和不改变原程序函数的调用方式而为原程序增加功能。 闭包函数  内层函数对外层函数的变量的引用(不是全局变量) 闭包:当函数开始执行时,如果遇到了闭包,他有一个机制,# 他会永远开辟一个内存空间,将必包中的变量等值放入其中,不会随着函数的执行完毕而消失   ...

装饰器的功能就是在不改变原程序代码和不改变原程序函数的调用方式而为原程序增加功能。

闭包函数  内层函数对外层函数的变量的引用(不是全局变量)

闭包:当函数开始执行时,如果遇到了闭包,他有一个机制,
# 他会永远开辟一个内存空间,将必包中的变量等值放入其中,不会随着函数的执行完毕而消失

 

a = 'yy'
def func1(a):
    def inner():
        print(a)              
    inner()
    print(inner.__closure__)   这是判断是否为闭包函数的    这个函数为非闭包函数
fun()
#yy
none

 

a = 'yy'
def func1(a):
    a = 'yy'
    def inner():
        print(a)              
    inner()
    print(inner.__closure__)   这是判断是否为闭包函数的
fun()
#yy
(<cell at 0x000001D85FFE76D8: str object at 0x000001D860080D50>,)

  

 

装饰器

def wrapper(func1):
    def inner(*args,**kwargs):
        pass
        ret = func1(*args,**kwargs)
        return ret
    return inner
@wrapper
def func1(a,b,c,d):   参数可以任意设置
    pass

  

目录
相关文章
|
8月前
第5期 一文读懂装饰器
第5期 一文读懂装饰器
48 0
|
4月前
|
缓存 开发者 Python
Python编程中的装饰器深入解析
【9月更文挑战第20天】本文将带领读者深入了解Python编程中一个强大且神秘的功能——装饰器。我们将从装饰器的基本概念出发,逐步探索它的工作原理、使用场景以及如何自定义装饰器。文章不仅会用通俗易懂的语言解释复杂的技术概念,还将通过实际代码示例展示装饰器的强大功能和灵活性。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往更高效、更优雅代码编写的大门。
48 11
|
6月前
|
Python
Python编程实战:利用闭包与装饰器优化日志记录功能
【7月更文挑战第7天】Python的闭包和装饰器简化了日志记录。通过定义如`log_decorator`的装饰器,可以在不修改原函数代码的情况下添加日志功能。当@log_decorator用于`add(x, y)`函数时,调用时自动记录日志。进一步,`timestamp_log_decorator`展示了如何创建特定功能的装饰器,如添加时间戳。这些技术减少了代码冗余,提高了代码的可维护性。
79 1
|
JavaScript 前端开发 编译器
StencilJs 学习之组件装饰器
Stencil 是一个生成 Web Components(更确切地说,是自定义元素)的编译器。Stencil 将最流行的框架的最佳概念结合到一个简单的构建时工具中。 现在让我们一起学习其中的装饰器部分。
113 0
|
8月前
|
Python
Python编程中的装饰器应用探究
【2月更文挑战第8天】装饰器是Python编程中一个重要且强大的工具,它能够简洁地实现函数的包装和扩展,提高代码的复用性和可读性。本文将深入探讨装饰器在Python编程中的应用,结合实际例子详细讲解装饰器的定义、使用方法及常见应用场景,帮助读者更好地理解和运用装饰器这一高级特性。
|
8月前
|
数据安全/隐私保护 Python
解释装饰器(decorator)的功能和用法。
解释装饰器(decorator)的功能和用法。
60 1
|
8月前
|
Python
Python学习 -- 高阶、闭包、回调、偏函数与装饰器探究
Python学习 -- 高阶、闭包、回调、偏函数与装饰器探究
52 0
|
JavaScript API
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(2)
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(2)
|
JavaScript 前端开发
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(1)
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(1)
|
Python
【Python零基础入门篇 · 19】:递归函数、闭包、装饰器(语法糖用法、设置多个装饰器)
【Python零基础入门篇 · 19】:递归函数、闭包、装饰器(语法糖用法、设置多个装饰器)
129 0
【Python零基础入门篇 · 19】:递归函数、闭包、装饰器(语法糖用法、设置多个装饰器)