最赞回答 / JS000
简单点说就是当一个函数(如def my_func(): pass)前面加了@函数名(如@log),然后log函数就被赋值给my_func函数本身,并且my_func作为参数传入log函数,也就是my_func = log(my_func)。然后用前面高阶函数的知识去理解就行了。有参数装饰器就是多了一个函数而已,层层剖析下就行了
2015-05-21
最赞回答 / 痕六
<...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
最赞回答 / Apalapucia
没有为什么啊,myabs的作用就是返回一个abs函数。你这问题就像是问print "Hello World! " 为什么是 "Hello World!" 一样。。。
2015-05-11