已采纳回答 / 正_0001
你去看看sorted()函数就明白了。 (进入python命令后,输:help(sorted))例:list = [x,y,z]sorted(list) 中的默认排序函数根据:list中数值类型自带的cmp()返回的值。而sorted默认排序是从从小到大。cmp(x,y)若返回-1,sorted就认为x<y,将x排在y之前。同理,cmp(x,y) 若返回0,则认为x==y, 若返回1 ,则认为 x>y,将y排在x之后。最终sorted根据cmp 将list排序好。而本题相反,高分排在前面,所以...
2015-05-21
最赞回答 / JS000
简单点说就是当一个函数(如def my_func(): pass)前面加了@函数名(如@log),然后log函数就被赋值给my_func函数本身,并且my_func作为参数传入log函数,也就是my_func = log(my_func)。然后用前面高阶函数的知识去理解就行了。有参数装饰器就是多了一个函数而已,层层剖析下就行了
2015-05-21
已采纳回答 / HrOice
count()函数是返回fs这个list,这个list中的元素是函数而不是数字,就像[f(),f(),f()],f1,f2,f3=count() 就是f1,f2,f3=[f(),f(),f()] 当然这个f()是count里面的,第一个f()赋给了f1,第二个f()赋给了f2,...这样赋值方法高级序列赋值语句模式虽然可以在“=”符号两侧混合匹配序列类型,但是右边元素的数目还是要跟左边变量的数目相同,不然会产生错误。那么我们回到f() 依然是返回的i*i,但是在循环结束之后i的值是3,这是确定的,...
2015-05-19
最赞回答 / 痕六
<...code...>参数是一个对象,一个字符串和一个任意值。字符串可能会列出一个现有的属性或一个新的属性。这个函数将值赋给属性的。并将属性提供给对象。在 xiaoming = Person('Xiao Ming', 'Male',...
2015-05-19
最赞回答 / JS000
可以的,但是前面代码要改一下:def count(): fs = [] for i in range(1, 4): def f(j): return j*j r = f(i) fs.append(r) return fs这样最后你输入print f1,结果就是[1,4,9]用f1,f2,f3= count()是因为用了闭包,f1(),f2(),f3()其实就是分别当j为1,2,3时的g()
2015-05-17