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

python装饰器

难度初级
时长43分
学习人数
综合评分9.67
219人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
喔喔喔,明白了,原来的俩个函数还是需要的啊。。
好像这样写代码量更大了。。
f_100(89)和f_150(89)调用的时候,89为什么不是赋给passline,而是给了val
马马虎虎算是听个一知半解
#闭包学习
def my_sum(*arg):
print ('in my_sum')
return sum(arg)

def my_average(*arg):
return sum(arg)/len(arg)

def dec(func):
def in_dec(*arg):
print ('in dec arg=', arg);
if len(arg) == 0:
return o
for val in arg:
if not sinstance(val, int):
return 0
return func(*arg)
找到了高中数学课的感觉。。。
my_sum = dec(my_sum)中第一个my_sum只是指向函数的变量而已,它可以随便定义
v al了半天,突然明白老师说的是value(歪6)。。
光听有点绕,但是看例子就好多了
看了好多遍才明白一点,慢慢学吧,都被绕晕了!
理解装饰器前必须理解闭包的含义,对于装饰器,搞清楚装饰对象,新增的装饰函数是什么,就清楚了。
@修改函数
被修改的原型(此时已经改动了)
my_sum1 = dec(my_sum)
print my_sum1(1,2,3,4,5)

这样就好理解多啦
装饰器知识点很难理解,需要多实践才能很好的体会。
看不懂的,先反省一下自己的智商,再考虑老师的问题。
一脸懵逼.
装饰器真是python的难点
课程须知
您至少具备Python基础知识
老师告诉你能学到什么?
1.函数作用域及关系。 2.闭包的使用。 3.装饰器的概念及使用。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消