Python_装饰器
2021-05-18 03:31
标签:总结 import 函数名 类型 公司 开发 作用 int 程序 Teacher say : 没有任何一家专面python的公司会不提装饰器的 os模块:和操作系统做交互的时候 #装饰器形成的过程 #装饰器的作用 #原则: 开发封闭原则 #装饰器的固定模式 import time time.sleep(5) #让程序在执行到这个位置的时候停一会 time.time() #记录从190年开始到现在 过了多少秒 什么是装饰器? 在不修改函数调用方式的情况下, 但是还想在原来的函数前后添加功能 timer就是一个装饰器函数,只是对一个函数有一些装饰功能 例: def timer(f) : #是一个装饰器函数 def inner(*args,**kwargs) : #*args 传进去的是一个元组,传进去一个动态参数 (*args,**kwargs)可以覆盖所有的动态参数类型 start = time.time() f(*args,**kwargs) #被装饰的函数 end = time.time() print( end - start) return inner @timer #语法糖 @装饰器函数名, 定义在被装饰函数的上一行 def func() : #被装饰的函数 time.sleep(0.01) print(‘装饰器学习‘) # func = timer(func) #加入语法糖@timer 此句则省略 # 开放:对扩展是开放的 # 封闭:对修改是封闭的 # 封版 被装饰函数的返回值问题: 因为被装饰函数的 @timer(语法糖),因而被修饰函数地址改变,所以被修饰函数的返回值拿不到,需要在装饰器最后return 被修饰函数 被装饰函数传参问题 : 需要用装饰带参数函数的装饰器 、 总结:装饰器的固定模式 def wrapper(f) : def inner(*args,**kwargs) : #在被装饰函数之前要做的事 ret = f(*args,**kwargs) #在被装饰函数之后要做的事情 return ret return inner Python_装饰器 标签:总结 import 函数名 类型 公司 开发 作用 int 程序 原文地址:https://www.cnblogs.com/Py-Raid/p/9745283.html func()
#原则: 开放封闭原则
上一篇:LInux下(centos7.2)更新 python3.7
下一篇:JS实例5