#接受装饰器的参数
def deco_arg(deco_arg):
#接受函数 此列为func1
def deco_func(*argv,**kwag):
#接受函数的方法 此列为 a b
def _deco_func(*argv,**kwarg):
print "before -------执行函数前"
print "%s     -------打印装饰器的参数"% deco_arg
ret = deco_func(*argv,**kwarg)
print "after  -------执行函数后"
return ret
return _deco_func
return deco_func
@deco_arg('我是装饰器的参数')
def func1(a,b):
print a
print b
return "ok"
func1('xixi','haha')
'''
执行结果
before -------执行函数前
我是装饰器的参数     -------打印装饰器的参数
after  -------执行函数后
'''

转载于:https://www.cnblogs.com/xyx-py/p/4612206.html

python 装饰器 三 (带有参数的装饰器)相关推荐

  1. python中带有参数的装饰器

    1. 带有参数的装饰器介绍 带有参数的装饰器就是使用装饰器装饰函数的时候可以传入指定参数,语法格式: @装饰器(参数,...) 错误写法: def decorator(fn, flag):def in ...

  2. Python(IT峰)笔记12-装饰器概念,装饰器的原型,装饰器的嵌套,装饰带有参数的函数,装饰器的嵌套,装饰带有多参数的函数,带有参数的装饰器,用类方法装饰函数,用韩式装饰器装饰类,用类装饰器装饰类

    1.装饰器decorator概念 在不改变原有函数代码,且保持原函数调用方法的基础上,给原函数增加新的功能(给类增加属性或方法) 用一个函数或类去装饰一个旧函数(或类)造出一个新函数(或新类) 在原有 ...

  3. Python:闭包(简介、使用方法、nonlocal修改闭包内使用的外部变量)、装饰器(定义、作用、通用装饰器、多个装饰器、带参数的装饰器、类装饰器、装饰器方式添加WEB框架的路由)

    一.闭包的介绍 闭包可以保存函数内的变量 当闭包执行完毕,外部函数的变量才释放. # 闭包的作用:可以保存外部函数的变量 # 闭包的形成条件 # 1.函数嵌套 # 2.内部函数使用了外部函数的变量或者 ...

  4. python装饰器模式带参数_python 装饰器模式 我的理解

    python和javascript类似, 可以把函数当作函数的返回值, 比如 def func(f): def subfunc(): print 'subfunc' return subfunc此外f ...

  5. python装饰器模式带参数_Python装饰器使用实例:验证参数合法性 请教Python 使用装饰器实现单例模式的原理...

    python中一层装饰器的函数可以带参数吗 可以的, 装饰器分为可带参数和不可带参数的两种:但是如果带参数,则带参数装饰器的"参数"及"return"必须也是一 ...

  6. python装饰器模式带参数_python函数装饰器、类装饰器和带参数的装饰器——装饰器模式...

    装饰器模式: 动态地给对象添加一些额外的职责,就增加功能来说,装饰模式比生产子类更加灵活 Component 是定义一个对象接口,可以给这些对象动态地添加职责.concreteComponent是定义 ...

  7. Python多任务(多线程执行带有参数的任务,利用threading创建线程时传入参数--args参数和kwargs参数)

    1.多线程执行带有参数的任务 以元组形式传参 以字典方式进行传参       (字典的key值和参数名要一致) 2.线程的注意点 线程之间执行是无序的 主线程会等待所有的子线程执行结束再结束 如果要主 ...

  8. 拦截器获取请求参数post_SpringBoot拦截器如何获取http请求参数

    1.1.获取http请求参数是一种刚需 我想有的小伙伴肯定有过获取http请求的需要,比如想 前置获取参数,统计请求数据 做服务的接口签名校验 敏感接口监控日志 敏感接口防重复提交 等等各式各样的场景 ...

  9. 4-2日装饰器,带参数的装饰器

    1,函数的有用信息 from functools import wraps#引用模块 def wrapper(f): # f = func1 @wraps(f)def inner(*args,**kw ...

最新文章

  1. EXHCHANGE2003总结-2: 备份与还原
  2. 解决标准FPGA资源丰富却浪费的问题
  3. MJiOS底层笔记--KVO本质
  4. 拒绝双写:巧用Lindorm数据订阅
  5. java中filehandler_java – 如何配置特定FileHandler的属性
  6. Oracle安装——环境准备
  7. 用python画一个正方形
  8. Appium键盘事件
  9. android studio拨打电话代码,AndroidStudio实现拨打电话和发短信(kotlin)
  10. GPS 入门 1 —— 基础知识
  11. git clone 报错 Permission denied (publickey,password).git配置ssh key
  12. 02.GCC编译器的使用
  13. Android手机令牌教程
  14. 编译ASP.NET网站项目,以及部署网站到本地localhost服务器上实现独立运行
  15. Protobuf-net ProtoGen的使用
  16. Longest Substring with Same Letters after Replacement (hard)
  17. 组件间的双向绑定、如何自己定制双向绑定
  18. Python的len()函数
  19. verdi仿真中看波形经常犯的错误
  20. 安卓开源项目周报1214

热门文章

  1. php delete和truncate,TRUNCATE 删除表,无法回退。默认选择为整个表的内容,所以不能加条件。...
  2. ZOJ 3932——Handshakes
  3. 数据可视化【三】基本概念
  4. Honeycomb——BFS
  5. Leetcode 124.二叉树中的最大路径
  6. 熬夜肝完这份Framework笔记,已拿到offer
  7. SpringMVC与Struts2区别与比较总结
  8. numpy 和tensorflow 中的乘法
  9. poj-3667(线段树区间合并)
  10. 1449 砝码称重(思维)