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

厦门旅游网站设计厦门网站seo哪家好

厦门旅游网站设计,厦门网站seo哪家好,便民信息免费发布平台,做网站一年赚多少钱文章目录 装饰器普通装饰器带参数的装饰器warps 保持函数源信息不变 装饰器 普通装饰器 原理就是闭包,被装饰器装饰的函数,通过闭包返回新的函数内存地址 from functools import wraps# 不进行装饰 def ldsx():print(执行过程)return Data# fun就是被…

文章目录

    • 装饰器
    • 普通装饰器
    • 带参数的装饰器
    • warps 保持函数源信息不变

装饰器

普通装饰器

原理就是闭包,被装饰器装饰的函数,通过闭包返回新的函数内存地址

from functools import wraps# 不进行装饰
def ldsx():print('执行过程')return 'Data'# fun就是被装饰的函数名
def decorator_func(fun):def rela_func(*args,**kwargs):data = fun()data+='_扩展'print('执行过程扩展')return data# 返回函数名return rela_func# 使用装饰器装饰
@decorator_func
def ldsx_fun():print('执行过程')return 'Data'if __name__ == '__main__':data  = ldsx()print(data)data = ldsx_fun()# 查看返回值,并且查看ldsx_fun的实际函数名print(data,ldsx_fun.__name__)# 非装饰器原始
# 执行过程
# Data
# 使用装饰器
# 执行过程
# 执行过程扩展
# Data_扩展 rela_func

调用ldsx_func()可以写成decorator_func(ldsx_fun)() decorator_func(ldsx_fun)等价于 rela_func 然后再调用rela_func(),所以使用 ldsx_fun(),相当于使用rela_func()

带参数的装饰器

def decorator_func_args(ags):def decorator_func_rel(fun):def rela_func(*args,**kwargs):data = fun(*args,**kwargs)data+='_扩展'print('执行过程扩展')if ags == 'ldsx':print("装饰器参数开启 增加此扩展")return datareturn rela_funcreturn decorator_func_rel@decorator_func_args('ldsx')
def ldsx_fun_new(a,b):print('执行过程')print(a+b)return 'Data'if __name__ == '__main__':data = ldsx_fun_new(1,2)print(data, ldsx_fun_new.__name__)#打印
'''
执行过程
3
执行过程扩展
装饰器参数开启 增加此扩展
Data_扩展 rela_func
'''

装饰器函数多一层,用于接受装饰器参数,其余逻辑与普通装饰器一致

相当于decorator_func_args(‘ldsx’) -->decorator_func_rel(ldsx_fun_new)–>rela_func(1,2)

warps 保持函数源信息不变

由上文可见最后的函数名称其实都已经变了 如 ldsx_fun_new._name_ 得到的函数名rela_func

from functools import wrapsdef decorator_func_args(ags):def decorator_func_rel(fun):# warps会保持fun的元数据不变 @wraps(fun)def rela_func(*args,**kwargs):data = fun(*args,**kwargs)data+='_扩展'print('执行过程扩展')if ags == 'ldsx':print("装饰器参数开启 增加此扩展")return datareturn rela_funcreturn decorator_func_relif __name__ == '__main__':print(ldsx_fun_new.__name__)
# 返回内容为ldsx_fun_new
http://www.dtcms.com/wzjs/130647.html

相关文章:

  • 河北共产党员网站两学一做seo网站监测
  • 加强网站信息内容建设软文广告经典案例100字
  • 沙田仿做网站百度安装到桌面
  • 行业门户网站建设方案学新媒体运营最好的培训学校
  • 网站建设的感想和建议网站策划书的撰写流程
  • 网站变成了百度推广seo如何优化关键词排名
  • 网站里面发消息怎么做超链接最简单的营销方案
  • 沙河网站建设今日百度搜索风云榜
  • 电商网站建设建议自建站怎么推广
  • 网站建设规划优化大师的使用方法
  • dedecms美食网站专业网络推广公司排名
  • 做网站需要执照吗热搜词排行榜
  • 网站建设项目可行性分析报告厦门seo结算
  • ps做网站要多大产品推广方案怎么写
  • 现在什么网站做推广比较好竞价推广套户渠道商
  • 化妆品网站建设的维护腾讯企点官网下载
  • 做公司网站要多少钱电话营销销售系统
  • 在阿里巴巴上做网站需要什么软件厦门人才网
  • 咸宁网站建设公司推广营销app
  • 成都官方网站建设商品推广软文范例300字
  • 汕头集团做网站方案seo站长工具 论坛
  • 企业网页界面设计网络营销策略优化
  • 网站域名续费怎么续费最近新闻
  • 做网站数据库表设计福州网站关键词推广
  • 深圳均安网站制作学电脑培训班多少一个月
  • 猎头网站怎么做做网络推广
  • wordpress 一栏 两栏官网优化 报价
  • 做网站公司的使命免费网站java源码大全
  • 巴中网站建设网站制作推广电话
  • 网站系统维护微信营销推广方案