def log(func):
  #将原函数对象的指定属性复制给包装函数对象, 默认有 module、name、doc,或者通过参数选择
@functools.wraps(func)
def wrapper(*args, **kwargs):
print('call %s():' % func.__name__)
print('args = {}'.format(args))
return func(*args, **kwargs)
return wrapper

#调用
@log
def test3(o,p,q):
print(test3.__name__ + " param: " +o+ p +q)

test3('参数o','参数p','参数q')

运行结果:

call test3():
args = ('参数o', '参数p', '参数q')
test3 param: 参数o参数p参数q

最新文章

  1. 【转】Android Studio下加入百度地图的使用 (一)——环境搭建
  2. PetaPoco 使用总结(二)
  3. c++异常总结
  4. 字典树(codevs 4189)
  5. YAML 技术研究
  6. csharp:百度翻译
  7. iOS之 kamailio-4.3.4sip服务器搭建-mac
  8. 【测试】使用hr用户下的employees和departments表写一条SQL语句,(MG连接)
  9. LA 4727
  10. asp.net MVC FileResult在IE下异常的解决办法
  11. 2102: [Usaco2010 Dec]The Trough Game
  12. B哥竟然也被裁了,聊一聊我的看法
  13. ASP.NET Core快速入门学习笔记(第3章:依赖注入)
  14. django - 总结 - cnblog
  15. flask之wtforms
  16. thinkphp 5内置验证规则-基本版
  17. C++设计模式之-代理模式
  18. sklearn.preprocessing.LabelBinarizer
  19. [Solution] JZOJ3470 最短路
  20. Excel里面Left这个怎么用?

热门文章

  1. 标准Gitlab命令行操作指导
  2. 构建编译TVM方法
  3. MindSpore应用目标
  4. YOLOv5目标检测源码重磅发布了!
  5. IDEA骚技巧
  6. Java 并发基础知识
  7. springboot的restful风格获取请求中携带的参数
  8. python中json.dump()与json.dumps()的区别
  9. 【ElasticSearch】给ElasticSearch数据库配置慢查询日志
  10. 详解apollo的设计与使用