#第四步:基本装饰器的实现
#用于扩展基本函数的函数
def kuozhan(func):
#内部函数(扩展之后的eat函数)
def neweat():
#以下三步就是扩展之后的功能,于是我们把这三个哥们做成一个函数
#取名叫做neweat
#扩展功能1
print('饭前要洗手')
#调用基本函数
func()
#扩展功能2
print('饭后溜一圈')
#这里需要有返回值才能传给eat
#添加返回值
#return 12 eat原来是函数,eat扩展之后还以函数的形式赋值给eat
#所以return后面必须是扩展之后的函数
return neweat
#基本函数
@kuozhan#eat = kuozhan(eat) #eat就相当于以前的result,用来接收返回值
def eat():
print('吃饭')
#扩展之后的函数要重新赋值给基本函数!(但是此步骤还实现不了)
#eat = kuozhan(eat) #eat就相当于以前的result,用来接收返回值
print(eat)#第四步的目的是为了让打印eat函数的时候打印一个函数
#而不是像第二步和第三步打印回来的是None
#调用函数
eat()#eat就是扩展的内部函数neweat函数,就是return返回的值

最新文章

  1. iOS之绘制虚线
  2. eclipse逐步调试
  3. selenium使用笔记(一)
  4. javascript运动系列第三篇——曲线运动
  5. Apache Flink初接触
  6. c++ 符号执行顺序小例子
  7. C#函数式程序设计之代码即数据
  8. 高性能文件缓存key-value存储—Memcached
  9. 【LeetCode】104 - Maximum Depth of Binary Tree
  10. Struts2--课程笔记2
  11. jq之简单的表单验证
  12. 程序ajax请求公共组件app-jquery-http.js中url参数部分的项目应用
  13. 中英文混合字符串截取java
  14. Win7下C:\Users\Cortana以账户名称命名的系统文件夹用户名的修改
  15. 在ASP.NET Core中使用AOP来简化缓存操作
  16. 在没有DOM操作的日子里,我是怎么熬过来的(上)
  17. [Kubernetes]PV,PVC,StorageClass之间的关系详解
  18. edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
  19. Windows 常用的 CMD 命令
  20. jsp使用servlet实现文件下载

热门文章

  1. java_第一年_JavaWeb(3)
  2. 重命名sql数据库
  3. 如何在C#中使用sqlite,一个简单的类
  4. 【记录】spring/springboot 配置mybatis打印sql
  5. Linux学习笔记之目录配置
  6. 公私钥,数字证书,https
  7. python 的文件编码处理
  8. python已处理的异常
  9. Autoit 3 常用的语句
  10. 安装electron-react-boilerplate遇到的问题