码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-11-05 23:35:19      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:表达式   装饰器   台湾   alt   tps   http   es2017   一个   没有   

 

说起装饰器就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装饰器乱弹

标签:表达式   装饰器   台湾   alt   tps   http   es2017   一个   没有   

原文地址:http://www.cnblogs.com/saintdingspage/p/7789083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!