动态绑定
# python动态绑定,只对当前操作的实例起作用,不影响类的其他实例class A(object): pass# 动态绑定属性a = A()a.name = 'Tom'print(a.name) # Tom# 动态绑定方法from types import MethodTypedef set_name(self, name): self.name = namea.set_name = MethodType(set_name, a)a.set_name('Jerry')print(a.name) # Jerry# 如果要给所有实例绑定的话,可直接绑定到类A.set_name = set_name# 限制动态绑定属性,使用__slots__特殊变量,对于继承的子类__slots__不会起作用class A(object): __slots__ = (name, age)#只允许动态绑定名称为name或age的属性