首页 > 其他 > 详细

18 有参装饰器

时间:2021-03-16 22:23:37      阅读:34      评论:0      收藏:0      [点我收藏+]
def ato(db_stye):定义登入类型                                            #有参装饰器   最外面一个可以随意加值
def deco(func):
def wrapper(*args,**kwargs):
name=input("输入账号").strip()
pwd=input("请输入密码").strip()
if db_stye=="file":
print("文件")
if name=="taoge" and pwd=="123":
print("登录成功")
res=func(*args,**kwargs)
return res
else:
print("账号密码错误")

elif db_stye == "mysql":
print("数据库")
return wrapper
return deco
@ato(db_stye="file") # 等同余函数ato先运行 返回deco的函数内存地址==@deco ==index=wrapper(index)
def index(x,y): #ato传参db——stye deco传参func不可变 wrapper传参*args,**kwargs
print("chenggong{}{}".format(x,y))
return "奈斯"
res=index(1,2)
print(res)

18 有参装饰器

原文:https://www.cnblogs.com/OUYANGjt/p/14545353.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!