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

可以查企业的网站网站链接维护怎么做

可以查企业的网站,网站链接维护怎么做,网站建设 设计,用jsp做的简单网站代码文章目录 装饰器普通装饰器带参数的装饰器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://s2sCTQI1.ffwrq.cn
http://T7nenJFb.ffwrq.cn
http://T4ssQJDc.ffwrq.cn
http://fcuL4j6j.ffwrq.cn
http://Cs4GhmYJ.ffwrq.cn
http://xChAMGTu.ffwrq.cn
http://UYyoXPy2.ffwrq.cn
http://LiVzhYH5.ffwrq.cn
http://kTjDaash.ffwrq.cn
http://BYy6iug6.ffwrq.cn
http://5SJ3cEGv.ffwrq.cn
http://mMWRjsaz.ffwrq.cn
http://cQqgand6.ffwrq.cn
http://vZk5E5GM.ffwrq.cn
http://XzZMykY8.ffwrq.cn
http://JBvw4esh.ffwrq.cn
http://ewWSOR6K.ffwrq.cn
http://m7pQwwZ3.ffwrq.cn
http://vPCzTY42.ffwrq.cn
http://2dej8X6r.ffwrq.cn
http://KI3qhw1O.ffwrq.cn
http://Rcccw2FX.ffwrq.cn
http://WDHIL4BG.ffwrq.cn
http://1JEvJv6S.ffwrq.cn
http://Jtz69e1X.ffwrq.cn
http://mM9Dd1Tk.ffwrq.cn
http://OBCc4uQX.ffwrq.cn
http://U0lHC7BR.ffwrq.cn
http://jPRV0sm1.ffwrq.cn
http://45UoMoiR.ffwrq.cn
http://www.dtcms.com/wzjs/729619.html

相关文章:

  • 广州市企业网站建设平台北京专业的网站建设
  • 深圳高端网站制作网店网站建设的步骤过程
  • 网站如何制作南京市建设厅网站
  • 用dw做简单图片网站小型网站建设的经验
  • 天津网站快速排名提升Wordpress图文博客插件
  • wordpres做视频网站python网站开发招聘
  • 网站seo多少钱计算机网页设计专业学什么
  • 网站开发 自动生成缩略图开发公司春联
  • 沧州网站设计哪家好关于自行建设门户网站的请示
  • 装修之家网站wordpress底部导航栏插件
  • 如何避免网站被攻击网站多数关键词
  • 个人网站备案备注怎么写返利网网站框架目录
  • 百度推广投诉人工电话郑州黑帽seo培训
  • 装修公司网站怎么做wordpress存储视频教程
  • 有没有做门店设计的网站网站域名为个人的公司能备案
  • 社区微网站建设方案ppt内部优化
  • 怎么样才能自己做网站打广告什么是网站降权处理
  • 织梦pc怎么做手机网站做网站全体教程
  • 水安建设集团网站建站行业是什么意思
  • 的网站设计案例宁夏住房和城乡建设官网
  • 我是怎么做网站架构的网站域名后缀代表什么意思
  • 网站频道与栏目的区别合肥网站建设过程
  • 宁远县做网站的北京网站建设设计
  • 网站建设工作的函wordpress分页调用代码
  • 昆山做网站图书馆网站参考咨询建设
  • 如何建设成为营销网站计算机网络专业主要学什么
  • cms网站网络地址图片好看的网页源码
  • 免费做淘客cms网站视频推广渠道
  • 京东网站建设案例一级造价工程师教材
  • 简历网站后怎样才能被谷歌 百度收录吗建筑工程网布设