zoukankan      html  css  js  c++  java
  • python3 装饰器

    def myDecorator(...):    #定义装饰器,可能带参数
      def decorator(func): #装饰器核心,以被装饰的函数对象为参数,返回装饰后的函数对象
        def wrapper(*args, **kvargs): #装饰的过程,参数列表适应不同参数的函数
          ... #修改函数调用前的行为
          func(*args, **kvargs) #调用函数
          ... #修改函数调用后的行为
        return wrapper
       return decorator

    @myDecorator(...):    #给函数加上装饰器
    def myFunc(...):     #自己定义的功能函数
    ...

    def setTag(tag): #由于此装饰器需要参数,所以要再套一层
      def myDecorator(func): #装饰器的核心,接受函数对象做参数,返回包装后的函数对象
        def myWrapper(*arg, **kvargs): #包装的具体过程
          sign = "<" + tag + ">"
          return sign + func(*arg, **kvargs) + sign
         return myWrapper
        return myDecorator

    @setTag("div") #用@标签在定义函数时套上装饰器
    def hello(name):
      return 'hello' + name

  • 相关阅读:
    第一次作业
    C语言I博客作业04
    C语言I博客作业05
    c语言l博客作业02
    C语言I博客作业06
    linux下递归删除目录下所有exe文件
    CSS高级
    CSS样式
    CSS框模型
    Oracle的用户、角色和权限
  • 原文地址:https://www.cnblogs.com/sgwjj/p/9561071.html
Copyright © 2011-2022 走看看