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

    #装饰器不更改函数内部代码,执行函数前和执行函数后,添加功能
    #一旦一个函数被装饰器装饰,那么函数会被赋值给装饰器内层函数
    #装饰器的参数是将老函数当参数传入到装饰器
    def uncle(arg):
        def inner():
            print('log')
            return arg()
        return inner
    
    #功能:1.自动执行uncle函数,并将下面的函数名f1当参数传递
    #     2.将uncle函数的返回值重新赋值给f1
    @uncle
    def f1():
        print('F1')
    @uncle
    def f2():
        print('F2')
    
    f1()
    f2()
    def zsq(arg):
        def new():
            print('new 函数!')
            r=arg()
    #如果想获取原函数的返回值,需要在这里定义。
            print('后边加功能!')
            return r
    #然后在这里打印
    #这里默认返回值是None。
        return new
    
    @zsq
    def f1():
        print('old 函数!')
        return 'FFFFFFFFFFFF'
    
    print(f1())

    双成装饰器

  • 相关阅读:
    [包计划] date-fns
    [包计划] create-react-app
    [包计划] js-cookie
    [包计划] cheerio
    [包计划] 30-seconds-of-code
    new
    [源计划] array-first
    [源计划] is-sorted
    [源计划] array-flatten
    images
  • 原文地址:https://www.cnblogs.com/Z-style/p/5548219.html
Copyright © 2011-2022 走看看