任务:

现有两个函数:

def print1():
print("I am print1")
def print2():
print("I am print2")

使用wrap,在执行print1之前输出:I am wraper1

在执行print2之前输出:I am wraper2 + 自定义文字

解答:

from functools import wraps

#无参wrap
def log1(func):
@wraps(func)
def wraper(*args,**kwargs):
print("I am wraper1")
return func(*args, **kwargs)
return wraper @log1
def print1():
print("I am print1") # 有参数
def log2(txt):
def log3(func):
@wraps(func)
def wraper1(*args, **kwargs):
print("I am wraper2",txt)
return func(*args, **kwargs)
return wraper1
return log3 @log2('')
def print2():
print("I am print2") print1()
print2()
 

最新文章

  1. EI Index
  2. Spring@Autowired注解与自动装配
  3. 《JAVA与模式》之策略模式
  4. lua Date和Time
  5. 截断WM_SYSCOMMAND的SC_CLOSE命令(VC与Delphi双版本)
  6. 连接、关联、JOIN、APPLY(SQL Server)
  7. HDU_2022——海选女主角
  8. Highcharts 异步加载数据曲线图表
  9. React 入门最好的实例-TodoList
  10. Hibernate PO对象的状态
  11. 随想录(移动app下的生活)
  12. dm642在线写EPROM.txt
  13. Delphi中ShellExecute的妙用
  14. 【数据库】Mean web开发 04-MongoDB在Linux上的安装及遇到的问题
  15. 【Android Developers Training】 15. 启动一个Activity
  16. 猪圈密码python脚本实现
  17. 重温《STL源码剖析》笔记 第四章
  18. jfinal中,render的时候如何取到view根目录
  19. 代码生成器——实现生成pojo,sql,mapper接口
  20. 【整理】Java 9新特性总结

热门文章

  1. MonggoDB学习笔记
  2. eclipse 远程debug
  3. java io 模型重点讲述
  4. (转)MySQL open_files_limit相关设置
  5. PHP面向对象的基本原则
  6. 安装多个PHP环境会导致phpinfo和php -v中查看到的PHP版本不一致
  7. hdu 3794 Magic Coupon
  8. 利用kvo对集合进行操作
  9. SSO单点登录的实现原理是怎样的
  10. ddddddeeeessssssttttrrrrrrooooooyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy