Slots限制
由于类创建出来的实例化对象可以动态的去追加一些属性,这就会为我们合作编程造成一些困扰。
Class position:
Def __init__(self,x,y):
Self.x=x
Self.y=y
Def main():
P = postion(1,3)
- z=100
Return
但是我们不想这样,我们可以在类里面添加如下
Class position:
__slots__ = [“x”, “y”]
Def __init__(self,x,y):
Self.x=x
Self.y=y
Def main():
P = postion(1,3)
- z=100#此处则会报错,即使p.__class__.__slots__.append(“z”)了也仍然会报错
Return
对于slots本意去其实是为了提升加载速度,但是产生了一个限制随意添加属性的功能。