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

网站实现语言转换技术上该怎么做免费下载网页模板

网站实现语言转换技术上该怎么做,免费下载网页模板,wordpress更新是乱码,计算机毕设代做网站1、Python装饰器简介 python的装饰器就是一个Python函数#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能#xff0c;装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数。 它经常用于有切面需求的场景#xff0c;比如…1、Python装饰器简介 python的装饰器就是一个Python函数它可以让其他函数在不需要做任何代码变动的前提下增加额外功能装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数。 它经常用于有切面需求的场景比如插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题代码很好地重用。简单理解装饰器的作用就是为已经存在的对象添加额外的功能。 2、Python内置装饰器 3、Python装饰器语法及原理 python提供了符号作为装饰器的语法糖使我们更方便的应用装饰函数。但使用语法糖要求装饰函数必须return一个函数对象。因此我们将上面的func函数使用内嵌函数包裹并return。 装饰器相当于执行了装饰函数use_loggin后又返回被装饰函数bar,因此bar()被调用的时候相当于执行了两个函数。等价于use_logging(bar)()def use_logging(func): def _deco(): print(%s is running % func.__name__) func() return _deco use_logging def bar(): print(i am bar) bar() 4、Python装饰器的使用 1装饰器修饰带参数方法def use_logging(func): def _deco(a,b): print(%s is running % func.__name__) func(a,b) return _deco use_logging def bar(a,b): print(i am bar:%s%(ab)) bar(1,2) 2装饰器修饰不确定参数个数方法def use_logging(func): def _deco(*args,**kwargs): print(%s is running % func.__name__) func(*args,**kwargs) return _deco use_logging def bar(a,b): print(i am bar:%s%(ab)) use_logging def foo(a,b,c): print(i am bar:%s%(abc)) bar(1,2) foo(1,2,3) 3带参数的装饰器#! /usr/bin/env python # -*- coding:utf-8 -*- # __author__ TKQ def use_logging(level): def _deco(func): def __deco(*args, **kwargs): if level warn: print %s is running % func.__name__ return func(*args, **kwargs) return __deco return _deco use_logging(levelwarn) def bar(a,b): print(i am bar:%s%(ab)) bar(1,3) # 等价于use_logging(levelwarn)(bar)(1,3) 4使用functools.wraps解决原函数的元信息问题import functools def use_logging(func): functools.wraps(func) def _deco(*args,**kwargs): print(%s is running % func.__name__) func(*args,**kwargs) return _deco use_logging def bar(): print(i am bar) print(bar.__name__) bar() #result: #bar is running #i am bar #bar 5、装饰器同时兼容带参数和不带参数的情况import functools def use_logging(arg): if callable(arg):#判断传入的参数是否是函数不带参数的装饰器调用这个分支 functools.wraps(arg) def _deco(*args,**kwargs): print(%s is running % arg.__name__) arg(*args,**kwargs) return _deco else:#带参数的装饰器调用这个分支 def _deco(func): functools.wraps(func) def __deco(*args, **kwargs): if arg warn: print warn%s is running % func.__name__ return func(*args, **kwargs) return __deco return _deco use_logging(warn) # use_logging def bar(): print(i am bar) print(bar.__name__) bar() 6、类的装饰器的使用class loging(object): def __init__(self,levelwarn): self.level level def __call__(self,func): functools.wraps(func) def _deco(*args, **kwargs): if self.level warn: self.notify(func) return func(*args, **kwargs) return _deco def notify(self,func): # logit只打日志不做别的 print %s is running % func.__name__ loging(levelwarn)#执行__call__方法 def bar(a,b): print(i am bar:%s%(ab)) bar(1,3) #继承扩展类的装饰器 class email_loging(Loging):一个loging的实现版本可以在函数调用时发送email给管理员def __init__(self, emailadminmyproject.com, *args, **kwargs): self.email email super(email_loging, self).__init__(*args, **kwargs) def notify(self,func): # 发送一封email到self.email print %s is running % func.__name__ print sending email to %s %self.email email_loging(levelwarn) def bar(a,b): print(i am bar:%s%(ab)) bar(1,3)
http://www.pierceye.com/news/805073/

相关文章:

  • 网站搭建平台源码做健身网站开题报告
  • 大芬网站建设樟树网站开发
  • 北京通州个人网站建设哈尔滨建设工程招投标办公室
  • 怎样开个人网站如何做百度免费推广
  • 深圳成品网站超市佛山网站建设机构
  • 江苏 网站建设第一次做网站做后感
  • wordpress翻译公司网站没事网站建设项目规划书
  • 东莞建设年审网站我的世界充钱网站怎么做
  • 太原网站排名系统电子商务市场营销
  • 社区网站开发进度表2018年做网站还能
  • 论企业网站建设的必要性内网网站搭建设
  • 网站建设怎么翻译如何建立自己的网站
  • 2345网址大全热门seo推广排名稳定
  • 网站建设工作有底薪吗360优化大师
  • 门户网站微信服务号建设大型网站建设优化排名
  • 贵州省冶金建设有限公司网站wordpress end_lvl
  • 网站建设的工作职责是什么网站后台显示连接已重置
  • 俱乐部手机网站模板微信公众号个人可以做网站么
  • 简述一个网站开发流程软件下载网站搭建
  • 超级营销型网站模板建湖人才网官网登录
  • 建设网站都需要什么万网二手已备案域名
  • 网站建设运营维护合同快捷建站专家
  • 中山建设网站公司软件工程开发
  • 网站备案logo韩国展厅设计网站
  • 网站建设沧州做网站导航能赚钱吗
  • 自己怎么创建免费网站wordpress使用插件
  • 做一个个人主页的网站怎么做商城小程序模板
  • 网站站内链接怎么做wordpress文章样式插件
  • 网站大全浏览器济南免费网站建设优化
  • 招聘网站入职分析表怎么做网站关键字挖掘