已采纳回答 / 一只_废喵
Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。当你在编写一个程序时,执行语句部分思路还没有完成,这时你可以用pass语句来占位,也可以当做是一个标记
2017-08-13
最新回答 / 慕粉2104286862
因为分数线不同,要编写不同的set_passline函数,但是各个set_passline()中用于判断是否及格的cmp()函数是一样的代码。用了闭包,也就是节省了编写比较函数cmp()的代码。也就是重用了cmp()比较函数的代码。至于你说的两个参数,是那么第二个参数传进来也要在比较时多写基于第二个参数的代码(在此琢磨一下),当n多个参数就写重复的n多次
2017-08-05
一开始讲闭包的时候,变量名确实让人容易混淆,但后面看到装饰器的时候,就知道了标准就是这样的,从讲课的角度看,这一点没有分亲,其他讲的很清楚。
2017-08-03
那么也就不难理解f_100 = set_passline(60)之后
其实f_100就是cmp这个函数当passline=60时的状态了
本质上f_100就是一个函数,所以后续的f_100(89)其实就是cmp(89)
还有我想要表达的一点,每个人的基础不一样,所以有的人可能听不太明白老师讲的东西,这很正常,如果我们能帮助他们理解,那再好不过;就算不能帮助他们,请不要贬低他们
其实f_100就是cmp这个函数当passline=60时的状态了
本质上f_100就是一个函数,所以后续的f_100(89)其实就是cmp(89)
还有我想要表达的一点,每个人的基础不一样,所以有的人可能听不太明白老师讲的东西,这很正常,如果我们能帮助他们理解,那再好不过;就算不能帮助他们,请不要贬低他们
2017-08-02
帮大家整理一下思路:
首先注意一下这个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')
这个函数
首先注意一下这个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')
这个函数
2017-08-02