遥想大肠包小肠----python装饰器乱弹

Posted saintdingtheGreat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遥想大肠包小肠----python装饰器乱弹相关的知识,希望对你有一定的参考价值。

 

说起装饰器就tm蛋疼,在老男孩学习python装饰器,结果第二天默写,全错了,一道题抄十遍,共计二十遍。

要是装饰器是一人,我非要约他在必图拳馆来一场......

下面容我展示一下默写二十遍的成果

语法形式

 

def  mydec(wenwa):

  def inner(*args,**kwagrs):

    ret = wenwa(*args,**kwargs)

    return ret  #请务必别忘记这还有个该死的return,如果被执行的函数没有返回值return,则ret为None

  return inner

其实我们不妨把装饰器想象为台湾同胞的一款小吃:大肠包小肠,外面那层大肠其实是外层函数mydec() 一口咬下去(给被调用函数加装饰器糖),吃到的是(执行的是)内层函数inner()包裹的函数wenwa() 至于外层函数inner()的入参*args则为多个变量(入参)传入提供了通道,而另一种入参**kwargs则为形如 x=3,a=4这类表达式型的参数提供了传入的可能。(您要是觉得糊涂,可以查看saintding转自runoob的另一篇博文http://www.cnblogs.com/saintdingspage/p/7788905.html参数部分)

以下为saintding写的一个装饰器......算了,还是看网上大牛写的吧,下列代码参考自https://www.zhihu.com/question/26930016知乎网站,特此鸣谢

 

以上是关于遥想大肠包小肠----python装饰器乱弹的主要内容,如果未能解决你的问题,请参考以下文章

2021 年度总结-人生无常,大肠包小肠

2021 年度总结-人生无常,大肠包小肠

飘逸的python - 单例模式乱弹

5个危害健康的大禁忌

python-装饰器

python---装饰器