slots的简单使用
在之前的博客中有提到方法与实例的动态绑定,为了防止进行随意的绑定属性与方法,可以使用__slots__来进行实例属性与方法的限制,并不对类的属性与方法进行限制。
在使用slots的时候需要注意的是,slots限制的是实例的属性与方法,对类的属性与方法无限制,但是会将类的属性与方法变为只读属性,不可对其进行赋值,并且在slots中的被限制的属性与方法,在类编写的时候不能直接进行定义为类属性和方法。
slots 是插槽的意思。
如果想限制实例的属性与方法,需要在定义 class 时定义一个特殊的 slots,来限制class实例能够添加的属性与方法.
slots = () 时让对象只能读,不能添加或修改类属性与方法。如果希望动态修改类变量,是不能使用 slots 的
初次之外,使用__slots__还能够提高程序的运行速度。
slots 无法被子类继承。