代码:
class Miao:
# def __set__(self, instance, value):
# print('set', instance, value)
def __get__(self, instance, owner):
print('get', instance, owner)
def __delete__(self, instance):
print('delete', instance)
class Cat:
objects = Miao()
》当前
Cat类中有一个类属性
它的值是另一个类的实例对象
这个实例对象就是描述符
objects属性被描述符代理,操作objects属性,就是在操作描述符
将来,凡是操作Cat类或者Cat类对象的objects属性,都有可能触发描述符的相关方法
详情见下文
》
》演练以下方法
set
get
del
》演练类的限定
人类,实例化为一个对象
限定默认参数
名字要是字符串
年龄要是整型
身高要是浮点型