• 装饰器


    定义:装饰器本身就是一个函数,用于装饰其他函数。

    功能:增强被装饰函数的功能。

    装饰器一般接收一个函数作为参数,以实现功能增强

     1 >>> def deco(func):#定义一个装饰器,它的参数是一个完整的函数
     2     def wrapper():#定义一个类似外包装的东西
     3         print('这是一个简单的运算')#外包装的语句
     4         func()#传入的参数,即函数
     5         print('精彩的完成了这次简单的运算')#外包装的语句
     6     return wrapper
     7 
     8 >>> @deco#指定装饰器
     9 def add():#定义被装饰的函数
    10     print(1+1)
    11 
    12     
    13 >>> add()#调用被装饰的函数
    14 这是一个简单的运算
    15 2
    16 精彩的完成了这次简单的运算
    17 
    18 #分析:实际上我们只是想定义一个函数用来进行加法运算,但是我们加了装饰器用来装饰
    19 #运算前后的语句,使得看上去更加完整有趣一些,这就是装饰器的由来
    # 定义装饰器的过程
    # 首先定义一个函数,传入的参数是一个函数
    # 这个装饰器的名字就被称作是deco
    def deco(func):
        # 定义一个外包装,外包装里面有自己定义的属于外包装本身的内容
        def wrapper():
            print('这是一个简单的运算!')
            func()#外包装包裹着被传入的函数
            print('精彩地完成了这次运算')
        # 返回外包装
        return wrapper
    
    # 让我们来解析一下装饰器的工作过程
    @deco
    def add():
        print(1+1)
    
    add()
    # 首先定义一个被装饰的函数,
    # 函数上面用@加入装饰器
    # 这个函数就作为装饰器的参数传入
    # 然后装饰器开始工作,运行装饰器本身的东西
    # 遇到传入的函数时,执行函数
  • 相关阅读:
    生成器
    迭代器
    装饰器
    Maven工具学习(六)----Maven依赖的版本锁定与版本常量
    SpringBoot学习记录之整合JSP
    SpringBoot学习记录之入门篇
    【k8s】ep-addresses
    【k8s】ep-metadata
    【k8s】Endpoints
    【k8s】cj-suspend
  • 原文地址:https://www.cnblogs.com/themost/p/6807596.html
Copyright © 2020-2023  润新知