您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否可以在不更改同一类的所有其他实例的情况下更改实例的方法实现?

是否可以在不更改同一类的所有其他实例的情况下更改实例的方法实现?

从Python 2.6开始,您应该使用types模块的MethodType类:

from types import MethodType

class A(object):
    def m(self):
        print 'aaa'

a = A()

def new_m(self):
    print 'bbb'

a.m = MethodType(new_m, a)

但是,正如另一个答案指出的那样,这对于新型类的“魔术”方法(例如)无效__str__()

其他 2022/1/1 18:28:35 有382人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶