最新回答 / 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
最新回答 / 慕客2057
我认为,可以参考:>>> import functools>>> int2 = functools.partial(int, base=2) # base是一个函数,其参数取2,即把输入的内容转化成2进制>>> int2('1000000')64这里也一样,cmp是一个函数,其函数里面又包含了一个参数函数,为隐函数lambda,后面部分为参数函数lambda的内容
2015-03-06
讲师回答 / 廖雪峰
因为函数调用允许传入关键字参数:>>> def fn(*args):... pass... >>> fn(1, 2, 3) # OK>>> fn(1, 2, 3, last=4)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: fn() got an unexpected keyword argument '...
2015-03-06