• 装饰器


    装饰器 = 高阶函数 + 嵌套函数

      高阶函数:将一个函数作为实参进行传递    

      def func():

        print("func")

      def test(func):

        print("test")  

        func()

      test()

      嵌套函数: 在一个函数体内定义另一个函数  

      x = 0

      def test1():

        x = 1

        def test2():

          x = 2

          print(x)

        test2()

      test1()    --> 2  嵌套函数的作用域和局部变量的作用域一致

    装饰器的特性:1、不改变被装饰函数的源代码

       2、不改变被装饰函数的运行方式

    import time

    #装饰器

    def timer(func):

      def deco():

        start_time = time.time()

        func()

        stop_time = time.time()

      return deco

    #原函数

    @timer      #相当于 test1 = timer(test1)

    def test1():

      time.sleep(3)   #休眠3s

      print("test1")

    @timer

    def test2():

      time.sleep(3)

      print("test2")

    test1()

    test2()

  • 相关阅读:
    mybatis框架快速入门
    perl FileHandle 模块使用
    perl substr
    Browse Code Answers
    无题
    dlang 泛型
    dlang 读取gz压缩文件
    R包 tidyverse 分列
    推荐一个网站:用各种语言去做同一件事
    dlang ref的作用
  • 原文地址:https://www.cnblogs.com/hqd2008/p/7652698.html
Copyright © 2020-2023  润新知