怎么应用python装饰器
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"怎么应用python装饰器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么应用python装饰器"吧!什么是装饰器从字面意思上来看,装
千家信息网最后更新 2026年11月01日怎么应用python装饰器
本篇内容主要讲解"怎么应用python装饰器",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么应用python装饰器"吧!
什么是装饰器
从字面意思上来看,装饰器是用来装饰其他东西的工具。在python中装饰器分为函数装饰器和类装饰器。
简而言之,函数装饰器是用来装饰函数的装饰器,其主要目的是增加目标函数的功能,类装饰器也就是装饰类的装饰器,增加类的功能。
函数装饰器
装饰器本质是嵌套函数
下面是一个简单的装饰器
# fun1为装饰器名称,function指的是被装饰的函数def fun1(function): def fun2(): print("开始了!") function() # 执行被装饰的函数或者 或者 return function() return fun2外面的fun1()需要传入一个参数,这个参数是用来传入要被装饰的函数,里面的fun2()需要执行function这个参数。
这是将函数当成参数传入另一个函数。
使用方法:
在需要装饰的函数上添加@装饰器名称
@fun1def fun3(): print("aaa")fun3()可以等价成这样:
def fun3(): print("aaa")fun = fun1(fun3)fun()输出结果是一致的
执行结果:
开始了!
aaa
如果传入的函数需要参数可以这样写:
def fun1(function): def fun2(a): print("开始了!") function(a) return fun2@fun1def fun3(a): print(a)fun3("aaa")输出结果:
开始了!
aaa
如果不清楚传入的函数需要多少个参数,可以这样写:
def fun1(function): def fun2(*args, **kwargs): print("开始了!") function(*args, **kwargs) return fun2@fun1def fun3(a,b): print(a,b)@fun1 def fun4(a,b,c): print(a,b,c) fun3("aaa","bbb")fun4("ccc","ddd","eee")运行结果:
开始了!
aaa bbb
开始了!
ccc ddd eee
如果函数装饰器需要添加参数,可以这样写:
def fun(msg): def fun1(function): def fun2(*args, **kwargs): print("开始了!{}".format(msg)) function(*args, **kwargs) return fun2 return fun1@fun(msg="小朋友")def fun3(a,b): print(a,b)fun3("aaa","bbb")运行结果:
开始了!小朋友
aaa bbb
类装饰器
类装饰器的用法基本和函数装饰器一样,只不过是用类写的装饰器
class fun1(object): def __init__(self, func): self.func = func def __call__(self, *args, **kwargs): print(("开始了!") self.func(*args, **kwargs)@fun1def fun2(a,b): print(a,b)fun2("aaa","bbb")类装饰用到了类的__call__方法
运行结果:
开始了!
aaa bbb
还可以这样写:
class fun(object): def __init__(self, msg): self.msg = msg def __call__(self, func): def fun1(*args, **kwargs): print("开始了!{0}".format(self.msg)) func(*args, **kwargs) return fun1@fun(msg="小朋友")def fun2(a, b): print(a, b)fun2("aaa,","bbb")运行结果:
开始了!小朋友
aaa, bbb
到此,相信大家对"怎么应用python装饰器"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
函数
参数
结果
小朋友
运行
应用
方法
内容
功能
名称
学习
输出
实用
更深
清楚
一致
东西
中装
也就是
使用方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
互联网科技股
什么是科技互联网
博彦科技互联网金融
互联网科技战争
狮子座互联网科技培训
丰台科技园 互联网公司
成都仁贤领冠互联网科技有限公司
互联网科技商业
互联网科技与大数据专业
国大互联网教育科技有限公司工作
浙南科技城互联网大厦建设工程
伍佰万互联网科技怎么赚钱
黑云互联网科技有限公司
互联网营销推广黑科技
郑州欣桑互联网科技有限公司
互联网科技机房
兰石爱特工业互联网科技分公司
数字科技和互联网金融哪个好
银川新华互联网科技学校招聘
百单网互联网科技有限公司怎么样
互联网科技公司经营范围
科技股互联网
互联网与科技金融数据
互联网科技金融
广西互联网科技公司
互联网科技视频素材
互联网科技公司介绍
互联网科技博主是什么意思
有人说阿里系是互联网科技企业