如果多个函数想通过一个装饰器来实现不同的功能的话,可以给装饰器传入参数,让装饰器里的函数对参数进行判断,来实现不同的功能

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" def deco(info_type):
def outer(func): #这在传入参数名
def inner(*args,**kwargs):
if info_type == 'name': #对装饰器的参数进行判断
func(*args, **kwargs)
name_info = input("your name:")
print("your name is %s"%name_info)
if info_type == 'age':
func(*args, **kwargs)
age_info = input("your age:")
print("your age is %s"%age_info)
return inner
return outer @deco(info_type='name') #给装饰器传参数
def name():
print("input your name") @deco(info_type='age')
def age():
print("input your age") if __name__ == '__main__':
name()
age()

运行结果

最新文章

  1. Eclipse断点调试
  2. Wix安装程序中判断是否安装的.net framwork 4.5
  3. JAVA学习绘图颜色及其笔画属性设置字体显示文字
  4. 远程连接mysql容易遇到的2个问题
  5. mac 下终端访问文件出现“Permission Denied”解决方案
  6. Motan:目录结构
  7. Fiddler对安卓应用手机抓包图文教程
  8. c# 访问修饰符的访问权限
  9. 如何使用mysql
  10. Linux 下提高make的编译效率
  11. HDU 4366 Successor(树链剖分+zkw线段树+扫描线)
  12. ASP.NET 5 (vNext)
  13. PHP安全之webshell和后门检测
  14. SVN的安装与配置
  15. Python开发【前端篇】HTML
  16. Scrapy 框架 配置文件
  17. 一次悲催的nginx转发白屏经历
  18. Fiddler 会话查找功能
  19. Web系统页面打印技术实现与分析
  20. redis 连接 docker容器 6379端口失败

热门文章

  1. Linux内核之进程(1)
  2. php环境之Wampserver端口修改
  3. tensorflow笔记:多层CNN代码分析
  4. 去除sql中不可见字符的n种方法
  5. Generator函数介绍
  6. hzau 1204 Escape from the Darkness
  7. webpack vue-cli 一有空格和分号就报错
  8. /var/adm/wtmp文件太大该怎么办?
  9. 剑指offer--16.数组中重复的数字
  10. Requests 库