python 装饰器 第九步:使用类来作为装饰器
2024-09-01 10:58:50
#第九步:使用类来作为装饰器
class kuozhan:
#接收装饰器的参数(函数outer)
def __init__(self,arg):
print(self,arg)#arg就是la
self.arg = arg
#制作一个内部函数(真正的装饰器 函数kuozhan)
def __call__(self,func):
print(self,func)#func就是eat函数
#将func函数存入对象
self.func = func
return self.neweat
#在面向对象过程当中不提倡内使用内部函数,要提到前面
#定义称为一个成员方法
def neweat(self):
# 扩展功能1
print('饭前洗洗手')
# 调用基本函数
self.func()
# 扩展功能2
print('饭后溜溜腿')
#基本函数
@kuozhan('la')# 相当于 result = kuozhan("la"), eat = result(eat) reuslt是实例对象 被当做函数调用触发__call__函数
def eat():
print('吃饭')
#调用函数 eat在某种程度上算是kuozhan类的实例对象 把它当函数调用触发 call 魔术方法
print(eat)
eat()
最新文章
- 【转】JavaScript获取节点类型、节点名称和节点值
- centos6.3环境下升级python及MySQLdb的安装
- Linux下的sed流编辑器命令详解
- 【转】Ruby入门教程(一)
- Windows 8 系统完全上手指南 - 非常详尽的 Win8 系统入门学习手册与使用技巧专题教程!
- Windows API 之 CreateToolhelp32Snapshot
- 介绍下Python的两个标准库 os 和 sys
- 翻译 | 使用A-Frame打造WebVR版《我的世界》
- WPF DelegateCommand 出现Specified cast is not valid
- git push提交报错,提示文件过大,且去掉大文件也报同样的错误
- 爬虫学习--MOOC爬取豆瓣top250
- nio编程
- C语言的问题,头文件:keil也许有漏洞
- HDU 3371 Connect the Cities 最小生成树(和关于sort和qsort的一些小发现)
- pythonNet day04
- (译)Getting Started——1.2.4 Tutorial:Storyboard(故事板)
- 匿名union
- C#中构造函数和析构函数的用法
- HUE安装与使用
- Erlang 001--开篇
热门文章
- luogu P3657 (NOIP2017) 跳房子(二分+DP+单调队列)
- 并行开发 8.用VS性能向导解剖你的程序
- 一个简单的winform程序调用webservices
- shell截取小数点前后的子串
- 解决python中转化成json的方法不能序列化datetime类型数据(转)
- [Luogu1821][USACO07FEB]银牛派对Silver Cow Party
- SDOI2018凉凉记
- 1.WCF学习--创建简单的WCF服务
- DataInput接口说明及其实现类
- 富文本框编辑器实现:a、支持图片复制粘贴;b、支持word复制粘贴图文。