从坷里化理解Py带参数的decorator
来源:互联网 发布:ins社交软件全名 编辑:程序博客网 时间:2024/06/08 12:03
这个类似于oop里的AOP操作
还有一个知识点就是坷里化函数
函数坷里化1
>>> def main(a):def test(b):print("test")print("main")return test>>> main(1)main<function main.<locals>.test at 0x02D33AE0>>>> main(1)(2)
函数坷里化2
第二个函数参数是函数的情况
>>> def main(a):def test(b):b()print("main")return test>>> main(1)(lambda :print("Hello"))mainHello>>>
当函数的函数参数带参数也就是三层坷里化
>>> def main(a):def test(b):def wrap(para):b(para)return wrapprint("main")return test>>> main(1)(lambda x:print(x+1))main<function main.<locals>.test.<locals>.wrap at 0x02D47810>>>> main(1)(lambda x:print(x+1))(12)main13>>>
看看Py里的标准的decorator
#coding=utf-8#!/usr/bin/pythondef log(tag): print ('[%s]:' % tag) def dec(fn): def wraped(*argv,**kwgs): print ('before') fn(*argv,**kwgs) print ('after') return wraped return dec@log("INFO")def main(n): for i in range(n): print (i*2)if __name__ == "__main__": #@log(argv) 实际上等同于 main=log(argv)(main) -- main(10)
0 0
- 从坷里化理解Py带参数的decorator
- Python中带参数的decorator
- Python编写带参数decorator
- 关于decorator 的理解
- python decorator的理解
- Python进阶(八)-编写带参数decorator
- Decorator模式的一些理解~
- Tensorflow-word2vec_simple.py的理解
- 带默认参数值的函数的简单理解
- 带有参数的decorator 装饰器
- springmvc从页面带过来的参数乱码
- 使用babel深入理解es7的decorator
- 带你从源码的角度理解Volley
- 带你从源码的角度去理解Handler
- Android Volley 带你从源码的角度理解Volley
- 带你从源码的角度理解Volley
- 从带输出参数的存储过程中获取输出参数的值 OUTPUT
- 理解swig和py++的區別
- java 保留2位小数
- GCC系列: __attribute__((visibility("")))
- [素材]pchome左侧有奖调查
- 每天学一点3
- 找出字符串中第1个只出现1次的字符
- 从坷里化理解Py带参数的decorator
- 2015070408 - EffactiveJava笔记 - 第60条 优先使用标准异常
- java策略模式
- awk命令
- Emacs常用命令快速参考
- windows 下Mysql重新设置root密码
- Ubuntu 14.04 安装QtSerialPort
- 国嵌C++专题2-乾坤合一
- C++ Primer 4th 要点总结