博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python函数(十)-装饰器(三)
阅读量:2258 次
发布时间:2019-05-09

本文共 806 字,大约阅读时间需要 2 分钟。

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

# -*- 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()

运行结果

 

转载于:https://www.cnblogs.com/sch01ar/p/8406868.html

你可能感兴趣的文章
将ArrayList保存到SharedPreferences
查看>>
Python setup.py开发与安装
查看>>
如何使用C#中的WebClient将数据发布到特定URL
查看>>
如何判断一个字符串在JavaScript中是否包含某个字符?
查看>>
这个笑脸胡子的表情是什么:“<:] {%>”?
查看>>
如何使用PHP发送电子邮件?
查看>>
如何在GitHub上重命名存储库?
查看>>
jQuery是否可以获取与元素关联的所有CSS样式?
查看>>
解释Python的‘__enter __‘和‘__exit__‘
查看>>
使用PHP搞定支付宝、微信扫码支付
查看>>
Android用省略号替换“...”
查看>>
iPhone应用程序图标 - 精确半径?
查看>>
如何返回上一页
查看>>
循环前增加和后增加之间的区别?
查看>>
如何调用AngularJS指令中定义的方法?
查看>>
onKeyPress与。 onKeyUp和onKeyDown
查看>>
使用AngularJS上传文件
查看>>
URL编码将“&”(&符号)视为“&”HTML实体
查看>>
什么是‘YTowOnt9‘?
查看>>
如何将Swift数组转换为字符串?
查看>>