Python函数(十)-装饰器(三)
2024-09-06 21:12:16
如果多个函数想通过一个装饰器来实现不同的功能的话,可以给装饰器传入参数,让装饰器里的函数对参数进行判断,来实现不同的功能
# -*- 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()
运行结果
最新文章
- Eclipse断点调试
- Wix安装程序中判断是否安装的.net framwork 4.5
- JAVA学习绘图颜色及其笔画属性设置字体显示文字
- 远程连接mysql容易遇到的2个问题
- mac 下终端访问文件出现“Permission Denied”解决方案
- Motan:目录结构
- Fiddler对安卓应用手机抓包图文教程
- c# 访问修饰符的访问权限
- 如何使用mysql
- Linux 下提高make的编译效率
- HDU 4366 Successor(树链剖分+zkw线段树+扫描线)
- ASP.NET 5 (vNext)
- PHP安全之webshell和后门检测
- SVN的安装与配置
- Python开发【前端篇】HTML
- Scrapy 框架 配置文件
- 一次悲催的nginx转发白屏经历
- Fiddler 会话查找功能
- Web系统页面打印技术实现与分析
- redis 连接 docker容器 6379端口失败