讲师回答 / 廖雪峰
如果你定义了一个函数: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