学习面向对象编程思想时,接触了类中的__slots__变量,视频中解释到使用此变量可以限制实例化出的对象的对象变量,所以不禁思考了他的存在意义--如果只是单单限制实例化对象似乎没什么意义.
查了资料了解到使用此变量后,解释器就不会用dic类型保存变量,而是使用占用空间更少的"类似元组的结构".
也就是说使用slots的直接目的是为了节省空间,之后带来了一些副作用,包括限制实例化对象的变量.
2024-04-06 17:33:19
学习面向对象编程思想时,接触了类中的__slots__变量,视频中解释到使用此变量可以限制实例化出的对象的对象变量,所以不禁思考了他的存在意义--如果只是单单限制实例化对象似乎没什么意义.
查了资料了解到使用此变量后,解释器就不会用dic类型保存变量,而是使用占用空间更少的"类似元组的结构".
也就是说使用slots的直接目的是为了节省空间,之后带来了一些副作用,包括限制实例化对象的变量.