函数与方法
一个函数(function)是由 def
语句或者 lambda
创建的。
当一个函数(function)定义在了class语句的块中(或者由 type
来创建的), 它会转成一个 unbound method
, 当我们通过一个类的实例来 访问这个函数的时候,它就转成了 bound method
, bound method
会自动把这个实例作为函数的地一个参数。
所以, bound method
就是绑定了一个实例的方法, 否则叫做 unbound method
.它们都是方法(method), 是出现在 class
中的函数。
本质上, 函数和方法的区别是: 函数是属于 FunctionObject, 而方法是属 PyMethodObject