python装饰器
装饰器的本质:在不改变被装饰对象原有的“调用方式”和“内部代码”的情况下给被装饰对象添加新的功能。
装饰器的作用,就是封装一个函数,然后修改它,也就是在不改变原有功能代码的基础上,添加额外的功能。
在python中所有的东西都是对象,函数可以作为参数进行传递。
代码实现:
# coding:utf-8 __author__ = "xiaomagua" from functools import wraps def login_outer(name="momo", sleep=10): def login(func): @wraps(func) # 不改变使用装饰器原有函数的结构(如__name__, doc) def wraaper(*args, **kwargs): print("%s checking login..." % name) print("sleep %s second..." % sleep) func(*args, **kwargs) return wraaper return login @login_outer("jack") def sayhi(name): print("hi %s, greeting.." % name) sayhi("jack")
参考:
https://cloud.tencent.com/developer/article/1683739
https://segmentfault.com/a/1190000007837927
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律