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

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

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

      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()

  • 相关阅读:
    day58
    day57
    day55
    day56
    day54
    Vue(练习二)
    Vue练习
    Vue框架
    作业
    Django(九)
  • 原文地址:https://www.cnblogs.com/hqd2008/p/7652698.html
Copyright © 2011-2022 走看看