# __slots__用于限定实例可添加的属性
class SlotsClass(object):
__slots__ = ('name', 'age')
SlotsClass.name = "Oliver"
SlotsClass.age = 17
# 添加一个不存在于__slots__的属性, 结果没有报错, 在slots限定
# 下, 可以添加类属性
SlotsClass.phone = 137
instanceSlot = SlotsClass()
print(instanceSlot.name)
print(instanceSlot.age)
print(instanceSlot.phone)
# 下面测试是否可以添加实例属性
class SlotsInstance(object):
__slots__ = ('name', 'age')
slots = SlotsInstance()
# 添加实例属性
slots.name = "Jame"
slots.age = "100"
# 添加一个不在slots中的属性, 报错SlotsInstance对象没有该属性
#slots.phone = 159
print(slots.name)
print(slots.age)