0001 functools
来源:互联网 发布:scopus数据库简介 编辑:程序博客网 时间:2024/05/22 13:28
import functools#partial 用于一此地方限制了参数的个数和类型def t1(w): print('this is : %s..' %w)p1=functools.partial(t1,'hello world')p1()#partialmethod 类方法的 partial 方案class C1(): def __init__(self): self._alive=False @property def alive(self): return self._alive def set_state(self,state): self._alive=bool(state) set_alive=functools.partialmethod(set_state,True) set_dead=functools.partialmethod(set_state,False)c=C1()print(c.alive)c.set_alive()print(c.alive) #updata_wrapper 把 func的 一些属性传到 wapper 函数里 def w1(func): @functools.wraps(func) def _(*args,**kw): print('this is in wapper 1') return func(*args,**kw) return _def w2(func): def _(*args,**kw): print('this is in wapper 2') return func(*args,**kw) return functools.update_wrapper(_,func)def w3(func): def _(*args,**kw): print('this is in wapper 3') return func(*args,**kw) return _@w1def f1(): print('this is in func f1')f1()print(f1.__name__)f2=w2(f1)f2()print(f2.__name__)f3=w3(f1)f3()print(f3.__name__)
结果 :
this is : hello world..
False
True
this is in wapper 1
this is in func f1
f1
this is in wapper 2
this is in wapper 1
this is in func f1
f1
this is in wapper 3
this is in wapper 1
this is in func f1
0 0
- 0001 functools
- functools
- functools
- functools
- python functools
- functools.partial
- functools.wraps
- functools.wraps
- python functools
- functools模块
- functools模块
- functools.wraps
- python functools
- Python的functools模块
- Python的functools模块
- python--functools的使用
- Python的functools模块
- python模块 - functools模块
- 单链表实现(C语言版,无头结点)
- dede list列表里显示当前是第几条记录
- [js点滴]js函数与闭包函数详解
- 动态化加载未安装的apk
- Mac的恶意软件真的比较少吗?
- 0001 functools
- Linear Regression Basic
- 远程监控Swift生产服务器运行
- win10驱动 使用 DbgPrint 在 DbgView 不显示调试信息 解决
- ADL SDK V10.2 中文文档
- python对excel文件的读写操作
- 9527LB
- [Algorithm] 九章二:Binary Search
- Python学习笔记(七)——进程和线程