资讯专栏INFORMATION COLUMN

总结----python装饰器

xzavier / 759人阅读

摘要:装饰器装饰器本质上是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器的作用就是为已经存在的函数或对象添加额外的功能。

装饰器:

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。

装饰器的作用就是为已经存在的函数或对象添加额外的功能。

格式:

def test2(func):
    def test3():
        print("-------test3")
        func()
    return test3
    
@test2
def test1():
    print("------test1")
    
test1()

相当于

def test2(func):
    def test3():
        print("-------test3")
        func()
    return test3
    
def test1():
    print("------test1")
    
ret = test2(test1) 
ret()

一个装饰器可以装饰多个函数。

def test2(func):
    def test3(a):
        func(a)
    return test3
    
@test2
def test(num):
    print("------test----%d" % num)
    
@test2
def test1(num):
    print("-----test1----%d" % num)
    
test(100)
test1(100)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43712.html

相关文章

  • python疑问7:高阶函数,匿名函数,装饰,偏函数总结

    摘要:本文是学习廖雪峰官网网站教程后总结的,供日后参考用高阶函数一个函数将另一个函数作为参数,称为高阶函数。 本文是学习廖雪峰官网网站python教程后总结的,供日后参考用1.高阶函数一个函数将另一个函数作为参数,称为高阶函数。当然也可以将一个函数作为结果返回 示例1:将函数作为参数 def add(x,y,f): return f(x)+f(y) result = add(-3,2...

    jerry 评论0 收藏0
  • python装饰和描述的使用总结

    摘要:所有的描述器协议如下如果一个对象同时定义了和它叫做资料描述器。仅定义了的描述器叫非资料描述器描述器在属性访问时被自动调用。 被某些中文教程坑过,我的建议是有问题看官方文档,即使没有很详细的例子,至少不坑 装饰器 毫无疑问在python中用得非常多 def deco(func): def _deco(): print before invoked ...

    xietao3 评论0 收藏0
  • Python】一文弄懂python装饰(附源码例子)

    摘要:装饰器的使用符合了面向对象编程的开放封闭原则。三简单的装饰器基于上面的函数执行时间的需求,我们就手写一个简单的装饰器进行实现。函数体就是要实现装饰器的内容。类装饰器的实现是调用了类里面的函数。类装饰器的写法比我们装饰器函数的写法更加简单。 目录 前言 一、什么是装饰器 二、为什么要用装饰器 ...

    liuchengxu 评论0 收藏0
  • 利用世界杯,读懂 Python 装饰

    摘要:今天就结合最近的世界杯带大家理解下装饰器。而德国是上届的冠军,又是这届夺冠热门。装饰器的存在是为了适用两个场景,一个是增强被装饰函数的行为,另一个是代码重用。在利用语法糖,简化赋值操作。行为良好的装饰器可以重用,以减少代码量。 Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性,熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 show...

    xiguadada 评论0 收藏0
  • Python装饰

    摘要:此篇紧接上篇装饰器装饰器模式,上篇主要是简述了装饰器模式,跟的装饰器。再来看装饰器的实现。这时步轻松搞定装饰器中的例子还是精妙的。最近学数据结构与算法,写些装饰器用来看程序执行时间,真是再方便不过了 此篇紧接上篇 Python装饰器vs装饰器模式,上篇主要是简述了装饰器模式,跟Python的装饰器。 再来看Python装饰器的实现。这里我推荐一篇文章(译)-12步轻松搞定python装...

    sunsmell 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<