python之装饰器2-高阶
来源:互联网 发布:天下霸唱抄袭证据知乎 编辑:程序博客网 时间:2024/04/29 16:27
import timeboy_age = []girl_age = []def fenlei(sex): def outer(func): def deco(*args,**kwargs): if sex == "boy": ret = func(*args,**kwargs) boy_age.append(args[1]) print("I am a boy,our boys's ages are %s" % str(boy_age)) return ret else: ret = func(*args,**kwargs) girl_age.append(args[1]) print("I am a girl,our boys's ages are %s" % str(girl_age)) return ret return deco return outer@fenlei("boy")def child1(name,age): print("my name is %s,I am %s years old" % (name,age)) return "from child1"@fenlei("girl")def child2(name,age): print("my name is %s,I am %s years old" % (name,age)) return "child2"@fenlei("boy")def child3(name,age): print("my name is %s,I am %s years old" % (name,age)) return "child2"print(child1("Tom",7))child2("Anna",8)child3("jack",9)-----------------------------my name is Tom,I am 7 years oldI am a boy,our boys's ages are [7]from child1my name is Anna,I am 8 years oldI am a girl,our boys's ages are [8]my name is jack,I am 9 years oldI am a boy,our boys's ages are [7, 9]
这类装饰器的里面嵌套了2个函数,给需要装饰的函数添加一个分类的功能,确定这些child是男孩还是女孩。
阅读全文
0 0
- python之装饰器2-高阶
- Python 高阶 decorator装饰器
- python基础之高阶函数、匿名函数 、装饰器,文件的读写
- python之装饰器
- Python之装饰器
- python基础—(高阶,匿名,偏)函数 | 装饰器
- Python装饰器之入门2
- Python 之 decorator装饰器
- Python 之 decorator 装饰器
- python学习之装饰器
- Python学习之装饰器
- python系列之 - 装饰器
- python之装饰器模式
- Python之装饰器函数
- python之装饰器decorator
- Python进阶之装饰器
- Python进阶之装饰器
- Python进阶之装饰器
- 【云星数据---大数据部集群署系列011】:alluxio java API 实战--01基本API
- 一篇关于Vim详细介绍的文章
- 前端div分页
- 猿们平常都喜欢听啥音乐?
- win10 那些曾经忽略的操作
- python之装饰器2-高阶
- redis 简单案例
- 图像处理入门11.09
- SSKeyChains使用
- LeetCode||54. Spiral Matrix
- 无需一行代码就能搞定机器学习的开源神器——手把手教你配置使用
- spring-mvc.xml 配置文件详解
- genymotion运行时adb服务器启动失败的解决方法
- 递归 阶乘 斐波那契数列