首页 新闻 会员 周边 捐助

所有函数对象绑定了实例对象就变成方法对象?

0
[已解决问题] 解决于 2025-08-25 11:03

所有函数对象绑定了实例对象就变成方法对象?是的。

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-08-25 11:01
< >
分享
最佳答案
0

在 Python 中,任何函数对象一旦被绑定到某个实例,就会被包装成一个 “绑定方法对象”(method)。
绑定方式有两种:
自动绑定(属性查找):

class C:
    def foo(self): pass

c = C()
m = c.foo          # 自动绑定,m 得到 <bound method C.foo of <C object ...>>

手动绑定(types.MethodType 或描述符)

import types
def bar(self): pass
c.bar = types.MethodType(bar, c)   # 手动绑定

无论哪种方式,结果都是:
函数对象 → 绑定方法对象
调用时会把 绑定的实例 作为第一个实参 self 传进去。

_java_python | 小虾三级 |园豆:984 | 2025-08-25 11:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册