分层次理解python装饰器
2017-10-21 09:26
363 查看
import logging #普通装饰器 def foo1(func): def wrapper(*args,**kwargs): logging.warn('I am %s'%func.__name__) func(*args,**kwargs) return wrapper @foo1 def bar1(num): print 'I am bar1',num+1 bar1(9) #带参数的装饰器 def foo2(level='漂亮'): def decorator(func): def wrapper(*args,**kwargs): logging.warn('I am %s%s'%(func.__name__,level)) if level=='漂亮': print '果然是个大美人!' else: print '呵呵,有点失望哦!' func(*args,**kwargs) return wrapper return decorator @foo2('漂亮') def bar2(num): print num-1 bar2(9) #类装饰器 class Decorator(): def __init__(self,func): self._func=func def __call__(self, *args, **kwargs): logging.warn('I am %s'%self._func.__name__) self._func(*args,**kwargs) @Decorator def bar3(str): print str bar3('妹子好靓!')
相关文章推荐
- [转]理解Python装饰器
- Python之简单理解装饰器(1)
- Python:装饰器的简单理解
- 深入浅出理解python 装饰器
- 装饰器学习(2)------深入理解Python 装饰器(decorator)
- 深入理解Python 装饰器(decorator)
- 由浅入深理解Python装饰器
- 对Python装饰器的个人理解方法 推荐
- 对Python装饰器的个人理解
- 我学python(5)-- 十一步让你理解python装饰器
- 个人对python装饰器的理解
- 简单 12 步理解 Python 装饰器
- 简单 12 步理解 Python 装饰器
- 理解Python装饰器(一)
- 唯快不破:如何理解python装饰器?
- 12步教你理解Python装饰器
- Python-理解装饰器
- 简单 12 步理解 Python 装饰器
- 深入理解Python中装饰器的用法
- 深入理解python中的闭包和装饰器