简明Python魔法 - 2
再说描述符 - Descriptor
最简单的描述符
覆写类的__get__
和__setter__
函数就可以实现一个简单的描述符。对某个类型实例的读写进行额外的控制。
>>> import datetime
>>> class CurrentDate(object):
... def __get__(self, instance, owner):
... return datetime.date.today()
... def __set__(self, instance, value):
... raise NotImplementedError("Can't change the current date.")
...
>>> class Example(object):
... date = CurrentDate()
...
>>> e = Example()
>>> e.date
datetime.date(2008, 11, 24 …