代码示例如下:
import types #使用MethodType方法需要导入包 class test(object): #定义 一个test类,包含name属性和f()方法 def __init__(self, name): self.name = name def f(self): print("test") #__slots__ = ('name') #这句话固定了test类的对象的属性只有name, #不允许再有其他的属性 def test2(self): #定义一个函数,准备添加到test类的对象中 print("name:%s"%self.name)
a = test("老王") a.f() a.age = 18 #动态为a对象添加属性,如果设置了__slots__属性,则这句话会报错 print('年龄:%d'%a.age) a.test2 = types.MethodType(test2,a) #动态添加方法,将test2方法绑定到a对象上 a.test2()