限制类属性的扩展
我们知道Python中,我们很容易为一个类的实例增加属性或者方法。
比如
class Student(object):
pass
s = Student()
s.name = "lightky"
print(s.name) #为实例s增加了属性name
def set_id(self, id):
self.id = id
from types import MethodType
s.set_id = MethodType(set_id, s)
s.set_id(201300000001)
print(s.id) # 为s增加了set_id方法,从而可以输出id属性