Python之路Day14

装饰器

  • 开放封闭原则:

    • 代码扩展进行开放

    • 修改源代码及调用方式封闭

  • 不修改源代码及调用方式条件下,额外的添加新功能就是装饰器

  • import time
    def index():
       time.sleep(2)  #秒
       print('这是小明写的功能')
    start_time=time.time()  #时间戳
    index()
    print(time.time()-start_time)
  • 语法糖 -- @装饰函数函数名

    • 顺序:先写装饰器,再写被装饰的函数

    • 将语法糖写在被装饰的函数正上方

 

装饰器进阶

有参装饰器

  • 在标准装饰器的外层,套了一层,多套一层就需要额外的调用一层

  • 语法糖:@auth(参数)

多个装饰器装饰一个函数

  • 多个装饰器装饰一个函数时,先执行离被装饰函数最近的装饰器

  • 小技巧:V

递归

  • 递:一直传参

  • 归:返回

  • 有效递归:

    • 不断调用自己本身(无效递归 -- 死递归)

    • 有明确的终止条件

  • 递归的最大深度(层次)官方说明1000,实际测试约993、994、997、998等

  •  

 

猜你喜欢

转载自www.cnblogs.com/zlx960303/p/11991713.html