Day3:迭代器、装饰器、软件开发规范

  • 装饰器
    • 定义:本质是函数,(装饰其他函数)就是为其他函数添加附加功能
    • 原则:
      • 不能修改被装饰的函数的源代码
      • 不能修改被装饰的函数的调用方式
         1 import time
         2 def timmer(func):
         3     def warpper(*args,**kwargs):
         4         start_time=time.time()
         5         func()
         6         stop_time=time.time()
         7         print("the func run time is %s" %(stop_time-start_time))
         8     return warpper
         9 @timmer
        10 def test1():
        11     time.sleep(3)
        12     print("in the test1")
        13 test1()
        View Code
    • 实现装饰器知识储备
      • 函数即“变量”
        • #补充知识:匿名函数
          calc=lambda x:x*3
          print(calc(3)) #结果为9
        • 定义一个函数,就相当于将函数体赋值给一个变量,这个变量的名称是函数名称
      • 高阶函数
        • 两个条件,满足其中之一便是高阶函数
          • 把一个函数名当做一个实参传递给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)
          • 返回值中包含函数名(不修改函数调用方式)
      • 嵌套函数

猜你喜欢

转载自www.cnblogs.com/JYLCSS/p/10884292.html
今日推荐