已采纳回答 / qq_牵手夕阳_03935894
10是decorator后函数的输入,表示求10的阶乘;return fn返回的是函数,表示原函数经decorator后变成函数fn了,,return r返回的是值,即3628800
2016-09-06
已采纳回答 / 慕神6430470
这句话的意思是,那个how_many()函数只能访问count,而不能访问name因为count是定义的类属性,不是使用self.属性名定义的
2016-09-06
最新回答 / qq_吖懒羊羊_0
就是内置函数,cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
2016-09-05
最赞回答 / 巫山2016
我是个新手,下面是我的理解,有不当的部分请高手指正:我的理解是这样的:所谓的修饰就是重新编写一个高阶函数new_fn(),把要修饰的函数f1()作为参数传递给高阶函数new_fn(f1)。代码应该是这...
2016-09-05
已采纳回答 / 慕神6430470
types.MethodType,它接受三个参数,第一,你要绑定的函数,第二,对象,第三,绑定的类注意,该绑定的方法只是对象p1的方法,其他无法调用体现出动态的话就是types.MethodType的后两个参数了
2016-09-05
最新回答 / 太阳蚣蚣粗来鸟
f1和f2和f3都指向了count()这个函数 , count()的返回值是一个单元素list , 因为闭包 , 所以第一次count()引用的变量为1 , 第二次为2 , 第三次为3 , 此时f1指向的依然是变量为1的count(), 所以实现f1的时候 , 返回变量为1的count()的值
2016-09-04
已采纳回答 / wodehanyu
因为当f1,f2,f3只是一个函数,因为for循环的每次都是返回的一个函数,毕竟没有计算结果,在调用f1,f2,f3之前,这个函数内部其实相当于引用for循环分配给i的地址,最后调用的时候才取到i的值。又因为调用f1,f2,f3方法时候for循环开辟的i空间的i的值已经是3了。f1,f2,f3调用的时候i的值不在变化,只是3,所以最后的结果都是9。后面一节有在for循环情况下怎么样写能变成结果[1,4,9],结合着看应该能搞懂。
2016-09-04
已采纳回答 / 青峰拂面Soda
reduce函数的第一个参数应该是个函数,你的x*x并不是函数,应该改成<...code...>还有 return calc_prod1()的返回值应该是对象calc_prod1而不是函数值,所以改为<...code...>
2016-09-04