装饰器学习
装饰器:它可以让其他函数在不需要做任何代码变动的前提下增加额外功能
怎么理解?
1、开放封闭原则,这个时候就使用装饰器
2、python里面,一切皆对象,那么被装饰的函数本质上其实是装饰器函数的形式参数
# 装饰器的函数 def outer(func): def inner(): func() return inner @outer def f1(): print('OK') f1() 结果: OK
依据如上,我们可以总结出,它执⾏的顺序具体为:
先执⾏outer的函数
再执⾏内部函数inner
下来执⾏到inner函数的返回值
再具体到inner的函数,执⾏inner函数⾥⾯的表达式
dict1={'islogin':False} def outer(func): def inner(): if dict1['islogin'] ==True: func() else: return print('请登录!!!') return inner def login(username='wr',password='admin'): if username=='wr' and password=='admin': dict1['islogin']=True return 'login Success' else: return '账户或者密码错误' @outer def admin(): print('访问后台管理系统') while True: p=int(input('1、登录 2、后台系统\n')) if p==1: login() elif p==2: admin() else: break 结果: 1、登录 2、后台系统 2 访问后台管理系统 1、登录 2、后台系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律