最赞回答 / a412739861
*args,**kw是自动匹配数组和字典。参见http://blog.csdn.net/anhuidelinger/article/details/10011013。通过t2-t1的时间差,求出的就是我们调用这个函数的时间,计算为0.689030 ms在这个地方,带入的应该factorial(10)中10这个数值,所以我觉得可以去掉**kw,我运行后,结果效果的确一样,时间变为0.686884 ms。大胆猜测下,10其实只是一个数值,所以也不用数组匹配,所以可以使用变量名a代替,时间变更为0.673056...
2015-03-19
最新回答 / a412739861
因为前面还有filter()函数啊。 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。http://www.imooc.com/code/6051
2015-03-15
讲师回答 / 廖雪峰
如果你定义了一个函数:bar(self, a, b, c)你可以直接调用,注意self参数也要传:bar(obj, 1, 2, 3)如果你把bar函数绑定到对象,你可以在对象上调用:foo.bar(1, 2, 3)注意self参数不能传也不让你传,由解释器自动传入foo对象可以直接在class中定义方法,这样每个实例自动绑定了该方法也可以在运行期给实例绑定方法,两种方式都是等价的,因为python解释器只不过把class的定义翻译成“给实例绑定方法”的代码
2015-03-08
最赞回答 / Perona
python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。总结:方法:类内普通方法,类方法函数:普通函数,类内的静态方法
2015-03-08