Python装饰器怎么用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关Python装饰器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。装饰器的基础使用(装饰带参函数)def decorator(func):
千家信息网最后更新 2026年11月01日Python装饰器怎么用
这篇文章给大家分享的是有关Python装饰器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
装饰器的基础使用(装饰带参函数)
def decorator(func): def inner(info): print('inner') func(info) return inner@decoratordef show_info(info): print(info)show_info('hello')防止装饰器改变装饰函数名称
装饰器在装饰函数的时候由于返回的是inner的函数地址,所以函数的名称也会改变 show_info.__name__会变成inner,防止这种现象可以使用functools
import functoolsdef decorator(func): @functools.wraps(func) def inner(info): print('inner') func(info) return inner@decoratordef show_info(info): print(info)show_info('hello')这样写就不会改变被装饰函数的名称
装饰器动态注册函数
此方法在Flask框架的app.Route()的源码中体现
class Commands(object): def __init__(self): self.cmd = {} def regist_cmd(self, name: str) -> None: def decorator(func): self.cmd[name] = func print('func:',func) return func return decoratorcommands = Commands()# 使得s1的值指向show_h的函数地址@commands.regist_cmd('s1')def show_h(): print('show_h')# 使得s2的值指向show_e的函数地址@commands.regist_cmd('s2')def show_e(): print('show_e')func = commands.cmd['s1']func()个人心得
在阅读装饰器代码时可以使用加(func_name)的方式
以为例
@commands.regist_cmd('s2')def show_e(): print('show_e')即 show_e = commands.regist_cmd('s2')(show_e)
感谢各位的阅读!关于"Python装饰器怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
函数
名称
地址
内容
指向
更多
篇文章
不错
实用
个人
代码
动态
基础
心得
文章
方式
时候
框架
此方法
源码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网 科技集团
美国互联网科技巨头监管
互联网最新的科技有限公司
善班互联网科技
九亚互联网科技
恒生科技互联网指数分析
汉立互联网科技有限公司联系电话
河南猎农互联网科技有限公司
青岛科技大学互联网大赛研究生
洛阳昕诺飞互联网科技有限公司
华夏恒生互联网科技013171
阿里互联网科技企业
科技赋能视角下互联网保险发展
群盈汇互联网科技有限公司
互联网科技实习生岗位
黑云互联网科技有限公司
半导体行业属于互联网高科技类吗
广东鹅鹅鹅互联网科技有限公司
陕西彩京云互联网科技有限公司
互联网高科技绘画
互联网科技海报
喔噻互联网科技有限公司
互联网科技卖菜
赫美联合互联网科技
融贸通互联网科技
深圳期待互联网科技
中盈科技互联网信息有限公司
港股科技和互联网
杭州披云加互联网科技有限公司
安徽九吞吴互联网科技有限公司