怎么查网站是哪个建站公司做的,外贸推广平台,网站线框图软件,全能网站建设完全自学手册前言
嗨喽#xff0c;大家好呀~这里是爱看美女的茜茜呐 一、什么是装饰器
目的#xff1a;给func()方法#xff0c;增加一个功能#xff0c;在fun()执行期间#xff0c;同时把fun()执行速率机算出来
import time
def func():print(嘻嘻哈哈)start_time time.time()
ti…前言
嗨喽大家好呀~这里是爱看美女的茜茜呐 一、什么是装饰器
目的给func()方法增加一个功能在fun()执行期间同时把fun()执行速率机算出来
import time
def func():print(嘻嘻哈哈)start_time time.time()
time.sleep(0.1)
func()
end_time time.time()
print(---- 执行效率%s%(end_time - start_time))更多精彩机密、教程尽在下方赶紧点击了解吧~
python源码、视频教程、插件安装教程、资料我都准备好了直接在文末名片自取就可 如果我们给fun1,fun2,fun3实现相同的功能呢 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群261823976
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def func():print(嘻嘻哈哈)def timmer(f):start_time time.time()time.sleep(0.1)f()end_time time.time()print(---- 执行效率%s%(end_time - start_time))f func
func timmer
func(f)但是每次都需要将函数作为函数传递给timmer()而且这种方式已经破坏了原有的逻辑结构之前的逻辑结构是执行fun的同时计算执行效率但是现在是把fun传给第三方函数进行计算。
怎么解决这种问题呢装饰器。
装饰器就是在不改动原函数代码前提下增加额外的功能装饰的返回值也是一个函数对象。 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群261823976
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def func():print(嘻嘻哈哈)def timmer(f):start_time time.time()time.sleep(0.1)f()end_time time.time()print(---- 执行效率%s%(end_time - start_time))return timmerf timmer(func)
f()语法糖 在定义函数的时候使用避免再一次赋值操作。
代码修改如下
def timmer(f):start_time time.time()time.sleep(0.1)f()end_time time.time()print(---- 执行效率%s%(end_time - start_time))return timmertimmer
def func():print(嘻嘻哈哈) 二、带参数的装饰器 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群261823976
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书import timedef wrapper(f):def inner(*args,**kwargs):start_time time.time()time.sleep(0.1)f(*args,**kwargs)end_time time.time()print(---- 执行效率%s % (end_time - start_time))return innerwrapper
def fun(a):print(%s嘻嘻哈哈 %(a))wrapper
def fun1(a,b):print(%s嘻嘻哈哈,%s也跟着嘻嘻哈哈 %(a,b))三、带返回值的装饰器 学习中遇到问题没人解答小编创建了一个Python学习交流QQ群261823976
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书def wrapper(f):def inner(*args,**kwargs):start_time time.time()time.sleep(0.1)ret f(*args,**kwargs)end_time time.time()print(---- 执行效率%s % (end_time - start_time))return retreturn innerwrapper
def fun(a):s %s嘻嘻哈哈 %(a)return sprint(name)总结:
就是 我们调用 fun() 方法实现原来的功能并且增加新的功能前提不能修改源代码。
尾语
上面总结了 Python 调用 JS 的 4 种方式
实际爬虫项目中一般会先使用 node 命令进行一次测试确保没问题后
再使用前 3 种方式的任意一种进行 Python 改写
希望本篇文章有对你带来帮助 有学习到一点知识~ 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀**