标签列表
Python: 在`__slots__`中添加`__dict__`有什么意义?
python
4
4
__slots__
的主要目的是为了节省空间。
但我看到有人将
__dict__
添加到其中,以便添加新属性。这不是违背了
__slots__
的目标吗?
-
user11869
3
仅仅因为你可以将
__dict__
添加到
__slots__
中并不意味着你应该这样做,或者有任何好的理由去这样做。
- agf
__Slots__
和
__dict__
是不同的。你已经掌握了基本概念。这篇文章可能会对你有所帮助:<br>https://dev59.com/_nRB5IYBdhLWcg3w6LR2 希望能帮到你 :)
- varunl
__slots__
还创建了描述符,使属性访问更快。在
__slots__
中含有
__dict__
仍然会创建一个字典并且允许动态属性,但是访问它们会稍微(非常)快一些。 (抱歉打扰旧帖子,我觉得被接受的答案不够充分)
- Exa
1
个回答
4
4
是的。如果你想要
__dict__
,那就不要使用
__slots__
。
-
Cat Plus Plus
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
4
重新加载Python模块有什么意义吗?
12
Python中自定义错误类中调用super有什么意义?
7
为什么 __slots__ = ('__dict__',) 会使实例更小?
8
Python中的RAII:__del__有什么意义?
16
异构数组有什么意义?
91
Python中dir()和__dict__有什么最大的区别?
5
在Python中动态添加类__dict__属性
9
为什么Python函数有一个__dict__属性?
64
如果存在GIL,Python中的多线程有什么意义?
7
Python __dict__
__dict__
添加到__slots__
中并不意味着你应该这样做,或者有任何好的理由去这样做。 - agf__Slots__
和__dict__
是不同的。你已经掌握了基本概念。这篇文章可能会对你有所帮助:<br>https://dev59.com/_nRB5IYBdhLWcg3w6LR2 希望能帮到你 :) - varunl__slots__
还创建了描述符,使属性访问更快。在__slots__
中含有__dict__
仍然会创建一个字典并且允许动态属性,但是访问它们会稍微(非常)快一些。 (抱歉打扰旧帖子,我觉得被接受的答案不够充分) - Exa