您的位置:首页 > 编程语言 > Python开发

49 Python - 装饰器 函数定义装饰器

2019-07-10 18:45 141 查看
原文链接:http://www.cnblogs.com/yijiexi/p/11165823.html

03 函数定义装饰器

      前面讲解了装饰器的一些概念和装饰器会用到的函数的知识,接下来讲解装饰器的定义,有两种方式可以定义装饰器一种是通过函数定义,一种是通过类定义。

 

001函数定义装饰器

(1)装饰器定义

如何定义

装饰器名称本身是一个函数,定义时候类似函数一样定义

装饰器需要修饰另外一个函数,所以装饰器需要一个传入一个函数作为参数

装饰器内部再定义一个函数用于对传递进来的函数进行装饰的,定义一个函数wrapper(*args, **kwargs)——相当于任何函数任何参数都可以通配,函数wrapper()就是对传入装饰器的func函数进行修改或者封装

装饰器内部函数返回装饰后的结果

装饰器本身返回内部函数对象(因为没有括号,所以不是内部函数执行结果),函数p_decorator()返回的是函数的对象wrapper不是wrapper的结果

 

 

(2)装饰器应用:用到某个函数上面

有两种方式:一种是用@方式,一种是类似函数调用方式,建议用第一种

该装饰器需求是:在返回字符串外面加一个p标签

方式一:

 

  方式二:了解

 

 

(3)另一个例子:文本变大写

 

 

转载于:https://www.cnblogs.com/yijiexi/p/11165823.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: