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

python装饰器

难度初级
时长43分
学习人数
综合评分9.67
219人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
逻辑清晰,不废话,并且细讲后又捋了一遍逻辑,非常好!至于口音我只想说,真的有让你无法理解所讲知识么?
老师讲的挺清晰的
之前学不懂,在这里看懂了。不懂就多看几遍,自己动手写代码。自己再整理一下逻辑。
def dec_num(num):
def in_num(x,y):
if type(x)==int and type(y)==int:
print(num(x,y))
return in_num

@dec_num
def num(x,y):
return x+y
id打印出来的在哪里?怕不是我眼睛坏了?
讲的很差!!
看完是有用的,能明白装饰器的原理,感谢
装饰函数一定要写在被装饰函数之前,否则会报错,亲测。
你没有被误导,你怎么知道别人会被误导?莫名其妙的指责,那你怎么不做视频
讲的挺好的,原理清楚就行,关心那么多细节干啥
一开始没反应过来
一开始讲闭包的时候,变量名确实让人容易混淆,但后面看到装饰器的时候,就知道了标准就是这样的,从讲课的角度看,这一点没有分亲,其他讲的很清楚。
那么也就不难理解f_100 = set_passline(60)之后
其实f_100就是cmp这个函数当passline=60时的状态了
本质上f_100就是一个函数,所以后续的f_100(89)其实就是cmp(89)


还有我想要表达的一点,每个人的基础不一样,所以有的人可能听不太明白老师讲的东西,这很正常,如果我们能帮助他们理解,那再好不过;就算不能帮助他们,请不要贬低他们
帮大家整理一下思路:

首先注意一下这个return是在set_passline函数里而不是cmp函数里的
那么这个return是在执行了set_passline(60)或set_passline(90)时进行返回的

其次这个return的返回值是cmp而不是cmp(89)
那么就表示这个return返回的其实不是一个数值,而是整个cmp这个函数
也就是当执行了set_passline(60)的时候,返回的是
def cmp(val):
if val >= 60:
print('Pass')
else:
print('Failed')
这个函数
课程须知
您至少具备Python基础知识
老师告诉你能学到什么?
1.函数作用域及关系。 2.闭包的使用。 3.装饰器的概念及使用。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消