最赞回答 / 慕UI1303120
f(j) 是在 r=f(i)这个位置调用的, f(i)里面的 i ,每次循环时 i 就有一个值,比如,第一次循环 i=1, 这时的 r = f(i) 里的 i 就是1,然后 调用函数时,再把 i 的值 传递给 形参 j ,这样就计算出一个值 1*1 返回给 r , 然后继续循环 i =2,,,,i =3,,,
2017-07-21
最赞回答 / 慕设计1811231
有些语法瑕疵:1/定义函数中的参数是一个变量,只能字母/数字/下划线...所以,def lazy_prod(L[])中的[]是非法字符...2/for x,y in L:进行迭代,只能一个参数3/return语句中不能进行赋值...即return L.append()=x*y. 你应该是想写成L.append(x*y)...还有其他问题...
2017-07-20
最新回答 / 小达达
你这代码不仅仅是python3报错,python2也报错。def get_grade(self,score):这里有1个score参数,但是你调用的时候却没有传入,肯定报错了实际上这里根本就不需要score参数,一个self就可以了
2017-07-19
最赞回答 / 开车不走路
使用偏函数是有条件的,例如int2()函数之所以能用偏函数,那是因为int函数本身能够接受一个base参数,但base默认值是10,所以偏函数的作用是改变这个默认值,当然也可以用高阶函数自己定义一个int2(),高阶函数跟普通函数本质上是没什么区别的,都是为了实现一个功能。
2017-07-17
最新回答 / 慕慕8143579
def performance(unit): def deco(g): #这里应该传入下面返回的函数g() def f(): print '[%s]' % unit return g() #这要返回一个新函数,由于你前面已经定义了f(),所以返回的新函数的变量名要换过 return f return deco@performance('ms')def factorial(): print ('hello'...
2017-07-17