python带参数的装饰器_Python-----带参数的装饰器以及补充

带参数的装饰器

def wrapper_out(n):

# def wrapper(f):

# def inner(*args,**kwargs):

# # if n == 'qq':

# # username = input('请输入用户名:').strip()

# # password = input('请输入密码:').strip()

# # with open('qq',encoding='utf-8') as f1:

# # for line in f1:

# # user,pwd = line.strip().split('|')

# # if username == user and password == pwd:

# # print('登陆成功')

# # ret = f(*args,**kwargs)

# # return ret

# # return False

# # elif n == 'tiktok':

# # username = input('请输入用户名:').strip()

# # password = input('请输入密码:').strip()

# # with open('tiktok', encoding='utf-8') as f1:

# # for line in f1:

# # user, pwd = line.strip().split('|')

# # if username == user and password == pwd:

# # print('登陆成功')

# # ret = f(*args, **kwargs)

# # return ret

# # return False

# username = input('请输入用户名:').strip()

# password = input('请输入密码:').strip()

# with open(n,encoding='utf-8') as f1:

# for line in f1:

# user,pwd = line.strip().split('|')

# if username == user and password == pwd:

# print('登陆成功')

# ret = f(*args,**kwargs)

# return ret

# return False

# return inner

# return wrapper

# """

# # @wrapper_out('qq')

# # def qq():

# # print('成功访问qq')

# # qq()

# # 看到带参数的装饰器分两步执行:

# '''

# @wrapper_out('腾讯')

# 1. 执行wrapper_out('腾讯') 这个函数,把相应的参数'腾讯' 传给 n,并且得到返回值 wrapper函数名。

# 2. 将@与wrapper结合,得到我们之前熟悉的标准版的装饰器按照装饰器的执行流程执行。

# '''

# """

# @wrapper_out('qq')

# def qq():

# print('成功访问qq')

# @wrapper_out('tiktok')

# def tiktok():

# print('成功访问抖音')

# qq()

# tiktok()

多个装饰器装饰一个函数

![img](file:///C:\Users\hql\Documents\Tencent Files\2648386998\Image\Group\S4M`A@]9A1N}_UL8]N1MCPN.jpg)

递归函数

递归函数:函数或者其他代码都可以解决递归解决的问题,但是递归在某些时候能出奇制胜的效果,人理解函数,神理解递归。

自己用自己。

![img](file:///C:\Users\hql\Documents\Tencent Files\2648386998\Image\Group\VQKO9N``H4PLJ[03}29L}_1.png)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值