您的位置:首页 > 其它

__slots__用法讲解

2020-07-01 20:37 85 查看

__slots__是python新式类中的一个特性,简单理解为“槽的意思”,类只拥有放在槽里的属性,上代码:

注释掉__slots__=('x','y'),则对象b可以自由添加属性x,y,z,运行结果打印出x,y,z的值,对象b的属性

包含x,y,z

[code]class B(object):
#"""This is class B"""
#__slots__=('x','y') #槽限制了只能有属性x,y
pass
def test(self):
"""This is class B"""
print('class B')

if __name__ == '__main__':
b = B()
b.x = 1
b.y = 2
print(b.x,b.y)
b.z = 2  #B类没有属性z
print(b.z)
print(dir(b))

反注释__slots__=('x','y'),则对象b只可以添加属性x,y,无法添加属性z,运行结果打印出x,y的值,

对象b没有属性z

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: