python学习记录--装饰器(重点)

发布时间:2022-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了python学习记录--装饰器(重点)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

 

今日内容概要

  • 装饰器的概念
  • 装饰器的简易版本
  • 装饰器的进阶版本

  • 装饰器的练习题(认证功能)

  • 装饰器的固定模板

  • 装饰器的语法糖(简化代码)

  • 有参装饰器(最复杂)

今日内容详细

装饰器的概念

     装饰器不是一个新的概念,而是空间名称,闭包函数等等的组合就是装饰器

 装饰:给函数增加额外的功能

 器:就是工具

装饰器的核心思想:在不改变原有函数的代码情况和原有调用方式的基础上增加额外的功能

def index():    pass

index()

'''给index函数统计执行时间'''

储备知识:     time模块      import time # 模块

1.时间戳,他是执行的这一刻距离1970-1-1的秒数

print(tine.time.())

python学习记录--装饰器(重点)

        2.原地等待三秒

def index():      time.sleep(3)      print('from index')

         # 1. 在函数执行之前打印一个时间节点               start_time = time.time()               index()

         # 2. 等待函数执行完毕之后,在打印一个时间节点               end_time = time.time()

         # 3. 总的执行时间就是两个的差值                print(end_time - start_time)

python学习记录--装饰器(重点)

 装饰器的简易模板

    例:统计函数的执行时间

一定要记住装饰器的核心思想:在不改变原函数的代码情况和原因调用方式的基础上,增加额外的功能。

python学习记录--装饰器(重点)

 

 装饰器的进阶版本(解救函数的传参问题)

python学习记录--装饰器(重点)

 装饰器练习题(认证功能)

调用index函数之前,需要输入用户名和密码,并且用户名和密码必须正确

python学习记录--装饰器(重点)

 

装饰器的固定模板

def outer(func):       def inner():               print('函数执行之前要执行的代码')               res = func()               print('函数执行之后要执行的代码')               return res

      return inner

装饰器的语法糖

装饰器语法糖的执行流程: 把语法糖下面紧贴着的函数名当成参数传递给装饰器函数参数

python学习记录--装饰器(重点)

 未完待续

脚本宝典总结

以上是脚本宝典为你收集整理的python学习记录--装饰器(重点)全部内容,希望文章能够帮你解决python学习记录--装饰器(重点)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: