当前位置: 首页 > news >正文

快乐彩网站做网络营销的招聘信息

快乐彩网站做,网络营销的招聘信息,为什么用花生壳做的网站老刷新,熊猫办公ppt模板下载Python之装饰器-带参装饰器 带参装饰器 之后不是一个单独的标识符,是一个函数调用函数调用的返回值又是一个函数,此函数是一个无参装饰器带参装饰器,可以有任意个参数 func()func(1)func(1, 2) def add(x, y):"""函数说明&…

Python之装饰器-带参装饰器

带参装饰器

  • @之后不是一个单独的标识符,是一个函数调用
  • 函数调用的返回值又是一个函数,此函数是一个无参装饰器
  • 带参装饰器,可以有任意个参数
    • @func()
    • @func(1)
    • @func(1, 2)

def add(x, y):"""函数说明:参数说明返回值说明"""pass# 先写一段伪代码
add.__name__, add.__doc__# add的名字是什么,add的文档是什么
# 返回结果:('add', '\n    函数说明:\n    \n    参数说明\n    返回值说明\n    ')
help(add)	# 查看帮助# add的名字是什么,add的文档是什么
# 返回结果:Help on function add in module __main__:# 返回结果:add(x, y)
# 返回结果:    函数说明:# 返回结果:    参数说明
# 返回结果:    返回值说明
import datetime # 导入datetime模块start = datetime.datetime.now() # 开始时间
end = datetime.datetime.now()	# 结束时间
def logger(wrapped):def wrapper(*args, **kwargs):"wrapper +++"start = datetime.datetime.now()ret = wrapped(*args, **kwargs)delta = (datetime.datetime.now() - start).total_seconds()print("{} tooks {}s.".format(wrapped.__name__, delta))return retwrapper.__name__ = wrapped.__name__ # 通过这行,使装饰器装的更像wrapper.__doc__ = wrapped.__doc__return wrapper@logger # 等价式, add = logger(add) # logger应该等效为单参函数
def add(x, y): # add = wrapper"add description~~"#time.sleep(2)return x + yprint(add(4, 5)) # 非侵入代码,完成了功能,并且好像从来没有装饰过一样
print(add.__name__, add.__doc__)# 此为无参装饰器,已次代码为例演示带参装饰器。
# 返回结果:add tooks 4e-06s.
# 返回结果:9
# 返回结果:add add description~~
# def update(wrapper, wrapped):
#     wrapper.__name__ = wrapped.__name__ # 通过这行,使装饰器装的更像
#     wrapper.__doc__ = wrapped.__doc__
# 可以通过函数来调用,因为重复使用,不需要每次都创建,写到函数外方便调用# def update(src, dest): # 见名知意,这样写,src=源,dest=目标
#     dest.__name__ = src.__name__
#     dest.__doc__ = src.__doc__# from functools import update_wrapper # python内置函数调用from functools import update_wrapper, wraps # 装饰器版本def logger(wrapped):@wraps(wrapped) # 装饰器版本def wrapper(*args, **kwargs):"wrapper +++"start = datetime.datetime.now()ret = wrapped(*args, **kwargs)delta = (datetime.datetime.now() - start).total_seconds()print("{} tooks {}s.".format(wrapped.__name__, delta))return ret#wrapper.__name__ = wrapped.__name__ # 通过这行,使装饰器装的更像#wrapper.__doc__ = wrapped.__doc__#update(wrapper, wrapped)#update(wrapped, wrapper)#update_wrapper(wrapper, wrapped) # 调用return wrapper@logger # 等价式, add = logger(add) # logger应该等效为单参函数
def add(x, y): # add = wrapper"add description~~"#time.sleep(2)return x + yprint(add(4, 5)) # 非侵入代码,完成了功能,并且好像从来没有装饰过一样
print(add.__name__, add.__doc__)# 带参装饰器的对比解释版本
# 返回结果:add tooks 6e-06s.
# 返回结果:9
# 返回结果:add add description~~
from functools import update_wrapper, wrapsdef logger(wrapped):@wraps(wrapped) # 等价式 wrapper = wraps(wrapped)(wrapper) # partial function(偏函数)def wrapper(*args, **kwargs):"wrapper +++"start = datetime.datetime.now()ret = wrapped(*args, **kwargs)delta = (datetime.datetime.now() - start).total_seconds()print("{} tooks {}s.".format(wrapped.__name__, delta))return retreturn wrapper@logger # 等价式, add = logger(add) # logger应该等效为单参函数
def add(x, y): # add = wrapperreturn x + y@logger
def sub(x, y):return x - y#print(add(5, 4))
#print(sub(5, 4))
print(add.__name__, sub.__name__)# 函数,函数执行过程,函数作用域,形参,实参,解构,嵌套函数,LEGB、高阶,柯里化,闭包
# 返回结果:add sub
http://www.ds6.com.cn/news/89056.html

相关文章:

  • 400网站建设价格百度云超级会员试用1天
  • 怎么介绍自己的网页苏州网站优化公司
  • 如何访问服务器上的wordpress靠谱的seo收费
  • 阿里巴巴网站分类板块做全屏口碑营销推广
  • 中英文网站程序网站开发技术
  • 贵阳网站开发多少钱微信营销的功能
  • 江苏质量员证在哪个网站做的产品线上推广方式都有哪些
  • 我想来做外贸网站来推广小学生关键词大全
  • 网站建设包括备案吗荥阳网站优化公司
  • 网站备案成功后营销课程
  • 番禺 大石网站建设怎么让百度搜索靠前
  • 西安大型网站建设网络营销产品策略分析
  • 开个捕鱼网站怎么做合肥网络公司seo建站
  • 套系网站怎么做网络营销企业培训
  • 京网站建设seo优化工作内容做什么
  • 搭建网站不用服务器吗企业网站设计方案
  • 网站怎么换域名中国产品网
  • 江西新余渝水区疫情最新消息seo哪里可以学
  • 网站设计制作排名青岛做网络推广的公司有哪些
  • 网站建设太金手指六六十八品牌营销策略论文
  • 驻马店做网站公司公司网站建设平台
  • 如何做手机网站seo综合检测
  • 网站免费主机申请自己怎么优化关键词
  • 学做早餐网站腾讯云域名注册
  • 专门做旅游攻略的网站有哪些看b站视频下载软件
  • 医院网站源码下载杭州seo首页优化软件
  • 温州手机网站建设wmwl常见的网络推广方法有哪些
  • 网络优化推广 网站开发建设合肥网络推广软件系统
  • 生活分类信息网站源码网络培训总结
  • 学完ssm可以做哪些网站重庆网站到首页排名