Skip to main content
 首页 » 编程设计

python之如何在python中更改对象的方法

2025年05月04日10jyk

我写了一个 python 文件:

class A(object): 
    def update(self, str): 
        pass 
 
    def say(self, str): 
        print "I update: " + str 
 
def fun(obj, str): 
    obj.say(str) 
 
a = A() 
import types 
setattr(A, "update", types.MethodType(fun, None, A)) 
a.update("hello") 
 
b = A() 
b.update("world?") 

它改变了类的行为,对象b也被改变了。但是,我只想更改对象 a。 如何在 python 中更改对象的方法?

请您参考如下方法:

这里有一个方法:

 a.update = lambda x: fun(a, x)