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

    实现装饰器:为其他函数添加附加功能,但是不能修改被装饰的函数的源代码和被装饰函数的调用方式; 由高阶函数 结合 嵌套函数实现

          本质:覆盖原有的函数名

    a,函数即“变量”,

    b, 高阶函数, 把一个函数名当做实参传递给宁外一个函数,返回值中包含函数名

    c,嵌套函数, 函数体中 用def 申明函数

    def decoratorFun(fun): #装饰函数
        def decorat(*args):
            fun(*args)
            print("this is decoration part")
        return decorat
    
    #writeFile = decoratorFun(writeFile)
    @decoratorFun
    def writeFile(strMsg):  #被装饰函数
        File = open("debug.txt","a",encoding="utf-8")
        File.write(strMsg)
        print(strMsg)
    
    for i in range(10):
        strmsg = str(i) + " yes to no "
        writeFile(strmsg)     #相当于调用运行的是decorat 函数,传值也是传给 decotat 函数
  • 相关阅读:
    2019.7.28刷题统计
    2019.7.27刷题统计
    2019.7.26刷题统计
    2019.7.22刷题统计
    qdoj.xyz 6.18
    qdoj.xyz 6.17
    qdoj.xyz 6.16
    qdoj.xyz 6.15
    qdoj.xyz 6.14
    qdoj.xyz 6.13
  • 原文地址:https://www.cnblogs.com/gongfuxiaozhen/p/8660503.html
Copyright © 2011-2022 走看看