为了账号安全,请及时绑定邮箱和手机立即绑定

python装饰器

难度初级
时长43分
学习人数
综合评分9.67
219人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
好像有点明白了……一步步讲解很清楚
恕在下直言,这老师讲的真心不好...

最新回答 / huohuohuo123
print 格式化输出,如:print ("His name is %s"%("Aviad"))      输出结果:His name is  Aviad
这英语发音真没谁了。。
可以看看sicp前两章,对闭包等有非常深刻的讲述
对于那些喷子,我想说:你可以提意见,可以发表观点,但是动不动就否定别人你是什么意思?你觉得你有那资格?那你怎么不讲课?没人逼着你来看,不喜欢可以不看,请自行默默离开。
讲得不好,例子不合适。没有理解闭包的优势。
@weibo_Aahri_0 谁和你说过装饰器这个概念是给新手听的?
讲的很好 真很赞
好久没看。。现在不能1倍速以下了么……
哦!! 原来如此! 上节课的铺垫都是为了这节课的容易理解。

def my_sum(*arg):
return sum(arg)
my_sum = dec(my_sum)

可以使用装饰器来编写:

@dec
def my_sum(*arg):
return sum(arg)

两者功能相同
代码中不加f(),直接运行f=func(89)能显示正常结果,增加f()后,除了打印两个89后还打印如下信息:
f()
TypeError: 'NoneType' object is not callable


注:python解释器 是3.6版本
老师定义成与函数my_sum重名不是引起误解,是有意而为之,这就是装饰器的用法,不要误导其他同学。。。名字确实是可以随便定义,但是老师用闭包改写的目的不就是为了重复利用参数检查的那部分代码吗?所以,初衷在于对使用的人来说还是一样,仍然调用最初的my_sum和my_average函数(换成其他函数名,那不成了调用其他函数去了),只不过代码检查的代码只要写一遍就好了,而这个就是装饰器的好处。
终于大概知道装饰器是个啥了
老师讲得超级好啊
课程须知
您至少具备Python基础知识
老师告诉你能学到什么?
1.函数作用域及关系。 2.闭包的使用。 3.装饰器的概念及使用。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消