类装饰器
来源:互联网 发布:东莞金拓软件 编辑:程序博客网 时间:2024/06/06 04:53
# decorator_object 1、 初始化时接收 被修饰函数(callbale类), 然后将将要修饰的函数放在类的__call__方法中, # 这样其自身也成为一个callable_objectclass Test(object): def __init__(self, func): self.__func = func self.name = None def __call__(self, name): self.name = name if self._check(): print('欢迎进入!') self.__func() else: print('Have no access') def _check(self): if self.name == 'ff': return True else: print('wrong name')@Testdef test(): print(sum(range(100)))# 代码运行到第20行, 将Test实例化,test指向此实例对象, 此实例对象的func属性指向原test函数, # ()运行就执行test指向的实例对象的__call__方法test('fx')test('ff')
运行结果:
wrong nameHave no access欢迎进入!4950
阅读全文
0 0
- python装饰器装饰类
- 装饰器之装饰器类
- Python 装饰器装饰类中的方法
- Python 装饰器装饰类中的方法
- Python 装饰器装饰类中的方法
- Python 类装饰器
- python 类装饰器
- 类装饰器
- Python装饰器:简单装饰,带参数装饰与类装饰器
- python装饰器的4中类型:函数装饰函数、函数装饰类、类装饰函数、类装饰类
- Python_类和装饰器
- python中的装饰器,函数带参数的装饰器,带类参数的装饰器
- 装饰器
- 装饰器
- 装饰器
- 装饰器
- 装饰器
- 装饰器
- CCF-2017-9
- Rust : link.exe failed的bug
- JSP重点知识
- CentOS Linux解决Device eth0 does not seem to be present
- 【NOIP 2016提高组D1T2】 天天爱跑步 Running Maverick_Frank
- 类装饰器
- LeetCode--Number of Islands
- Android VideoView播放视频只有声音没有图像黑屏
- 6.5 与代理请求有关的问题
- Week7 187. Repeated DNA Sequences
- Ubuntu 16.04安装JDK并配置环境变量
- linux kernel 源码
- Qt 布局之 QBoxLayout Class
- ubuntu install docker