香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

详解Python装饰器


时间:2022-04-02 10:25 作者:admin610456


1. 定义

本质是函数,用来装饰其他函数,为其他函数添加附加功能

2. 原则

a. 不能修改被装饰函数的源代码
b. 不能修改被装饰的函数的调用方式

3. 实现装饰器知识储备

a. 函数就是变量
b. 高阶函数
i. 把一个函数当作实参传给另外一个函数,在不修改被装饰函数源代码情况下为其添加功能
ii. 返回值中包含函数名, 不修改函数的调用方式
c. 嵌套函数
 高阶函数+嵌套函数==》装饰器

# Author: Lockegogouser, passwd = 'LK', '130914'def auth(auth_type): print('auth func:', auth_type) def outher_wrapper(func):  def wrapper(*args, **kwargs):   print('wrapper func:', *args, **kwargs)   if auth_type == 'local':    username = input('username:').strip()    password = input('password:').strip()    if user == username and password == passwd:     print('\033[32;1mUser has passed authentication\033[0m')     res = func(*args, **kwargs)     return res    else:     exit('\033[32;1mInvalid Username or password\033[0m')   elif auth_type == 'ldap':    print('ldap,不会')  return wrapper return outher_wrapperdef index(): print('welcome to index page')@auth(auth_type='local') # home = outher_wrapper(home)def home(): print('welcome to home page') return 'from home'@auth(auth_type='ldap')def bbs(): print('welcome to bbs page')index()print(home())bbs()Decorator

以上所述是小编给大家介绍的python/' target='_blank'>python装饰器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)