东莞网站优化怎样,搭建一个平台要多少钱,推广方案格式模板范文,北京企业网站建设推荐简言之#xff0c;python装饰器就是用于拓展原来函数功能的一种函数#xff0c;这个函数的特殊之处在于它的返回值也是一个函数#xff0c;使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。
一般而言#xff0c;我们要想拓展原来函数代码…
简言之python装饰器就是用于拓展原来函数功能的一种函数这个函数的特殊之处在于它的返回值也是一个函数使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。
一般而言我们要想拓展原来函数代码最直接的办法就是侵入代码里面修改例如import time
def func():
print(hello)
time.sleep(1)
print(world)
这是我们最原始的的一个函数然后我们试图记录下这个函数执行的总时间那最简单的做法就是#原始侵入篡改原函数
import time
def func():
startTime time.time()
print(hello)
time.sleep(1)
print(world)
endTime time.time()
msecs (endTime - startTime)*1000
print(time is %d ms %msecs)
但是如果你的Boss在公司里面和你说“小祁这段代码是我们公司的核心代码你不能直接去改我们的核心代码。”那该怎么办呢我们仿照装饰器先自己试着写一下#避免直接侵入原函数修改但是生效需要再次执行函数
import time
def deco(func):
startTime time.time()
func()
endTime time.time()
msecs (endTime - startTime)*1000
print(time is %d ms %msecs)
def func():
print(hello)
time.sleep(1)
print(world)
if __name__ __main__:
f func
deco(f)#只有把func()或者f()作为参数执行新加入功能才会生效
print(f.__name__ is,f.__name__)#f的name就是func
这里我们定义了一个函数deco它的参数是一个函数然后给这个函数嵌入了计时功能。然后你可以拍着胸脯对老板说看吧不用动你原来的代码照样拓展了它的函数功能。
更多学习内容请点击python学习网。