关于装饰器的那些事儿哈哈哈哈
到底什么是装饰器呢?
在不改变被装饰对象的源代码和调用方式的情况下被装饰对象添加新的的功能
装饰器并不是个新的技术
利用函数的参数、名称空间、函数名的用法、以及闭包函数的结合的结果
对修改封闭 对扩展开放
def login_auth(func_name):
def inner(*args, **kwargs):
username = input('username>>>:').strip()
password = input('password>>>:').strip()
if username == 'mire' and password == '123':
res = func_name(*args, **kwargs)
return res
else:
print('wrong username or password')
return inner
@login_auth
def register():
print('注册功能')
register()
@login_auth
def login():
print('登录功能')
@login_auth
def transfer():
print('转账功能')
这就是所谓的装饰器(也就是一个工具)提前写好,
需要的时候@一下就过来执行任务,
不调用就没事,这样一装饰之后不用反反复复的造轮子,
大大提升了程序员开发效率
第一次学习真的死活也搞不懂,甚至导致后面影响很多其他知识点的理解与掌握,其实装饰器不可怕,主要是因为知识点过于抽象以至于没有计算机基础的人或者开发经验一时半会儿理解不了,但是也不要太担心,只要把态度端正了,不懂就多对回顾多多复习总会理解的,这不我现在终于明白了嘛。所以还是那句话,功夫不负有心人!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?