- python 是动态语言,就是说可以动态的创建属性,
- 别的语言不行,再创建类的时候已经规定好了
- 使用__slots__,注意要
用tuple定义同意绑定的属性名称,仅对当前类起作用,对继承的子类是不起作用的
class A(object):
__slots__=('name','age') #1.限制属性 def __init__(self):
pass if __name__ == "__main__":
a = A()
a.age=10
a.name="alam"
a.sex='male' #如果没有slots是允许的 print(a.age)
print(a.name)
print(a.sex) #如果没有slots是允许的 '''
a.sex='male'
AttributeError: 'A' object has no attribute 'sex'
'''