我试图加深对python中OOP编程的理解,令我感到困惑的是,函数如何成为绑定方法。我认为到目前为止我了解的是
在python 3.x中,“未绑定方法”不再存在。只有函数和(绑定)方法。
当实例调用类函数时,将使用obj.func
描述符协议并调用func.__get__
返回的对象是obj实例的绑定方法,其中第一个参数(通常是self)是要传递的obj
第2步和第3步之间会发生什么?
似乎与
相似 obj.func=type(obj).func.__get__(func, obj)
__get__
中的某处,有一个类似装饰器的东西,它将返回绑定的方法。