1. 动态绑定属性
1.1 定义
# 在程序运行过程中,可动态的给一个对象添加属性
class Cat():
name = ""
age = 10
c1 = Cat()
c1.weight = 10 # 对象c1独有的,和 类 无关
print(c1.weight)
c2 = Cat()
print(c2.weight) # 报错
1.2 缺点:随意更改代码,维护性差。
2. 限制属性的动态绑定
# 使用tuple来限制需要绑定的属性
# 语法:__slots__
class Cat():
__slots__ = ("name", "age")
c1 = Cat()
c1.name = "miaomiao"
c1.age = 10
print(c1.name, c1.age)
c1.weight = 20
print(c1.weight) # 报错,已被限制