这样做逻辑上是没问题的,功能是实现了,但是我们调用的时候不再是调用真正的业务逻辑today函数,而是换成了logging_tool函数,这就破坏了原有的代码结构,为了支持日志功能,原有代码需要大幅修改,那么有没有更好的方式的呢?当然有,答案就是装饰器。 二、开天辟地 一个简单的装饰器 以上也是装饰器 ...
分类:
编程语言 时间:
2018-05-28 21:14:26
阅读次数:
182
1.没有加参数的装饰器 思路分析: 第一步会执行login(henan)函数,返回inner的内存地址,此时新henan为inner的内存地址,此时的func为老河南的方法。 第二步执行inner函数,当用户名输入正确时会执行func函数,此时执行老河南的方法,最后输出老河南函数中的内容。 2.加一 ...
分类:
编程语言 时间:
2018-05-26 15:26:07
阅读次数:
231
博客地址:http://www.cnblogs.com/yudanqu/ 概念:装饰器是一个闭包,把一个函数当做参数返回一个替代版的函数,本质上就是一个返回函数的函数 装饰器就是在我们需要的一个函数外面包装一个外壳,当我们希望这个函数更漂亮时,可以通过改变这个包装的样子即可,而不需要更改原函数,也可 ...
分类:
编程语言 时间:
2018-05-26 10:51:55
阅读次数:
246
如何理解装饰器python 学习遇到的第一个难点是装饰器。装饰器的作用是不大规模改动代码的情况下,增加功能。作用:为已经存在的对象添加额外的功能特点:不需要对对象做任何的代码上的变动。以一个例子来讲装饰器 import timedef timer(func): def deco(): start_t ...
分类:
编程语言 时间:
2018-05-24 16:33:25
阅读次数:
151
python基础部分 python基础一 python基础二 python集合,深浅copy python文件操作 python函数部分 python函数初识 python函数进阶 python装饰器 python迭代器,生成器 python内置函数,匿名函数 python递归函数 python二分 ...
分类:
编程语言 时间:
2018-05-23 13:08:33
阅读次数:
241
1. 函数 在 Python 中,使用关键字 def 和一个函数名以及一个可选的参数列表来定义函数。函数使用 return 关键字来返回值。定义和使用一个最简单的函数例子: 1 >>> def foo(): 2 ... return 1 3 >>> foo() 1 >>> def foo(): 2 ...
分类:
编程语言 时间:
2018-05-19 23:51:27
阅读次数:
410
装饰器 你是一家互联网公司的后端攻城狮,你们公司有一个现有函数如下: 现在TEAM LEADER要让你对函数进行扩展,要求在函数执行之前打印时间,执行之后打印时间,你可能很快就完成了任务,代码如下: 此时你信心满满的把这个代码提交给你的TEAM LEADER审核,没成想,没过5分钟,代码就被打回来了 ...
分类:
编程语言 时间:
2018-05-17 13:32:46
阅读次数:
166
python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。 例如,源函数代码如下: 如果想记录下这个函数执行的总时间 #多个装饰器 多个装饰器执行的顺序就是从第一个装饰器开始,执 ...
分类:
编程语言 时间:
2018-05-13 13:57:56
阅读次数:
194
Python 装饰器定义了一种可重复使用的操作。使用装饰器,相当于将两个小函数组合起来,组成功能更强大的函数。编写一个装饰符。 ...
分类:
编程语言 时间:
2018-05-12 22:31:42
阅读次数:
190
Python装饰器,魔术方法__call__, __enter__, __exit__练习 ...
分类:
编程语言 时间:
2018-05-12 19:17:50
阅读次数:
185