python装饰器初探(推荐)


Posted in Python onJuly 21, 2016

一、含有一个装饰器

#encoding: utf-8

############含有一个装饰器#########
def outer(func):
  def inner(*args, **kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数
    print "1"
    r = func(*args, **kwargs)#这里要用func,不要用f1
    print "2"
    return r
  return inner

@outer #这里outer不要加括号
def f1(a1, a2):
  print "a1 + a2 = "
  return a1 + a2

f1(1,2)

二、含有两个(多个)装饰器

############含有二个装饰器#########

def outer0(func):#第一个
  def inner(*args, **kwargs):
    print "AAAAAAAAA"
    r = func(*args, **kwargs)
    print "BBBBBBBB"
    return r
  return inner

def outer(func): #第二个
  def inner(*args, **kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数
    print "1"
    r = func(*args, **kwargs)#这里要用func,不要用f1
    print "2"
    return r
  return inner
@outer0 #俩装饰器,流程就是:执行f1()的时候,先执行outer0.inner(),outer0.inner().func调用outer的inner函数,也就是outer.inner()函数作为outer0的参数,
     # 然后outer.inner().func再调用f1()
@outer #这里outer不要加括号
def f1(a1, a2):
  print "a1 + a2 = %d" %(a1+a2)
  return 1

f1(1,2)

以上这篇python装饰器初探(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python采集博客中上传的QQ截图文件
Jul 18 Python
简单的编程0基础下Python入门指引
Apr 01 Python
Python面向对象编程基础解析(一)
Oct 26 Python
教你用Python写安卓游戏外挂
Jan 11 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
python traceback捕获并打印异常的方法
Aug 31 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
windows下Python安装、使用教程和Notepad++的使用教程
Oct 06 Python
Django ValuesQuerySet转json方式
Mar 16 Python
pycharm实现print输出保存到txt文件
Jun 01 Python
python3 循环读取excel文件并写入json操作
Jul 14 Python
python魔法方法-自定义序列详解
Jul 21 #Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 #Python
分享python数据统计的一些小技巧
Jul 21 #Python
python中print的不换行即时输出的快速解决方法
Jul 20 #Python
Python全局变量用法实例分析
Jul 19 #Python
python对象及面向对象技术详解
Jul 19 #Python
python异常和文件处理机制详解
Jul 19 #Python
You might like
php 获得汉字拼音首字母的函数
2009/08/01 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python简单实现基数排序算法
2015/05/16 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python实现学校管理系统
2018/01/11 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
函授毕业生的自我鉴定
2013/11/26 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
工作过失检讨书
2014/02/23 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
资金申请报告范文
2015/05/14 职场文书
党员转正大会主持词
2015/07/02 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技