• Python编程知识


    装饰器 :详细请看:https://www.runoob.com/w3cnote/python-func-decorators.html#:~:text=%E8%A3%85%E9%A5%B0%E5%99%A8%E6%9C%AC%E8%B4%A8%E4%B8%8A%E6%98%AF%E4%B8%80%E4%B8%AA%20Python%20%E5%87%BD%E6%95%B0%E6%88%96%E7%B1%BB%EF%BC%8C%E5%AE%83%E5%8F%AF%E4%BB%A5%E8%AE%A9%E5%85%B6%E4%BB%96%E5%87%BD%E6%95%B0%E6%88%96%E7%B1%BB%E5%9C%A8%E4%B8%8D%E9%9C%80%E8%A6%81%E5%81%9A%E4%BB%BB%E4%BD%95%E4%BB%A3%E7%A0%81%E4%BF%AE%E6%94%B9%E7%9A%84%E5%89%8D%E6%8F%90%E4%B8%8B%E5%A2%9E%E5%8A%A0%E9%A2%9D%E5%A4%96%E5%8A%9F%E8%83%BD%EF%BC%8C%E8%A3%85%E9%A5%B0%E5%99%A8%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%2F%E7%B1%BB%E5%AF%B9%E8%B1%A1%E3%80%82%20%E5%AE%83%E7%BB%8F%E5%B8%B8%E7%94%A8%E4%BA%8E%E6%9C%89%E5%88%87%E9%9D%A2%E9%9C%80%E6%B1%82%E7%9A%84%E5%9C%BA%E6%99%AF%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%E6%8F%92%E5%85%A5%E6%97%A5%E5%BF%97%E3%80%81%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E3%80%81%E4%BA%8B%E5%8A%A1%E5%A4%84%E7%90%86%E3%80%81%E7%BC%93%E5%AD%98%E3%80%81%E6%9D%83%E9%99%90%E6%A0%A1%E9%AA%8C%E7%AD%89%E5%9C%BA%E6%99%AF%EF%BC%8C%E8%A3%85%E9%A5%B0%E5%99%A8%E6%98%AF%E8%A7%A3%E5%86%B3%E8%BF%99%E7%B1%BB%E9%97%AE%E9%A2%98%E7%9A%84%E7%BB%9D%E4%BD%B3%E8%AE%BE%E8%AE%A1%E3%80%82%20%E6%9C%89%E4%BA%86%E8%A3%85%E9%A5%B0%E5%99%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E5%8F%AF%E4%BB%A5%E6%8A%BD%E7%A6%BB%E5%87%BA%E5%A4%A7%E9%87%8F%E4%B8%8E%E5%87%BD%E6%95%B0%E5%8A%9F%E8%83%BD%E6%9C%AC%E8%BA%AB%E6%97%A0%E5%85%B3%E7%9A%84%E9%9B%B7%E5%90%8C%E4%BB%A3%E7%A0%81%E5%88%B0%E8%A3%85%E9%A5%B0%E5%99%A8%E4%B8%AD%E5%B9%B6%E7%BB%A7%E7%BB%AD%E9%87%8D%E7%94%A8%E3%80%82%20%E6%A6%82%E6%8B%AC%E7%9A%84%E8%AE%B2%EF%BC%8C%E8%A3%85%E9%A5%B0%E5%99%A8%E7%9A%84%E4%BD%9C%E7%94%A8%E5%B0%B1%E6%98%AF%E4%B8%BA%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E5%AF%B9%E8%B1%A1%E6%B7%BB%E5%8A%A0%E9%A2%9D%E5%A4%96%E7%9A%84%E5%8A%9F%E8%83%BD%E3%80%82%20%E5%A6%82%E6%9E%9C%E5%87%BD%E6%95%B0%20bar,%E4%B9%9F%E6%9C%89%E7%B1%BB%E4%BC%BC%E7%9A%84%E9%9C%80%E6%B1%82%EF%BC%8C%E6%80%8E%E4%B9%88%E5%81%9A%EF%BC%9F%20%E5%86%8D%E5%86%99%E4%B8%80%E4%B8%AA%20logging%20%E5%9C%A8%20bar%20%E5%87%BD%E6%95%B0%E9%87%8C%EF%BC%9F%20%E8%BF%99%E6%A0%B7%E5%B0%B1%E9%80%A0%E6%88%90%E5%A4%A7%E9%87%8F%E9%9B%B7%E5%90%8C%E7%9A%84%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%B8%BA%E4%BA%86%E5%87%8F%E5%B0%91%E9%87%8D%E5%A4%8D%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%81%9A%EF%BC%8C%E9%87%8D%E6%96%B0%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%9A%E4%B8%93%E9%97%A8%E5%A4%84%E7%90%86%E6%97%A5%E5%BF%97%20%EF%BC%8C%E6%97%A5%E5%BF%97%E5%A4%84%E7%90%86%E5%AE%8C%E4%B9%8B%E5%90%8E%E5%86%8D%E6%89%A7%E8%A1%8C%E7%9C%9F%E6%AD%A3%E7%9A%84%E4%B8%9A%E5%8A%A1%E4%BB%A3%E7%A0%81

    简单地说:他们是修改其他函数的功能的函数。装饰器的运行顺序,就是按照函数顺序执行就可以。至于用@ 符号,是用更短的符号实现函数分装。

    @a_new_decorator == a_new_decorator(a_function_requiring_decoration)。

    def a_new_decorator(a_func):
    def wrapTheFunction():
        print("I am doing some boring work before executing a_func()")
        a_func()
        print("I am doing some boring work after executing a_func()")
        return wrapTheFunction

    def a_function_requiring_decoration():
        print("I am the function which needs some decoration to remove my foul smell")


    a_function_requiring_decoration()
    # outputs: "I am the function which needs some decoration to remove my foul smell"

    a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)
    # now a_function_requiring_decoration is wrapped by wrapTheFunction()

    a_function_requiring_decoration()
    # outputs:I am doing some boring work before executing a_func()
    # I am the function which needs some decoration to remove my foul smell
    # I am doing some boring work after executing a_func()

  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/eeee/p/15457218.html
Copyright © 2020-2023  润新知