Python: 在`__slots__`中添加`__dict__`有什么意义?

4
__slots__ 的主要目的是为了节省空间。
但我看到有人将 __dict__ 添加到其中,以便添加新属性。这不是违背了 __slots__ 的目标吗?

仅仅因为你可以将__dict__添加到__slots__中并不意味着你应该这样做,或者有任何好的理由去这样做。 - agf
__Slots____dict__是不同的。你已经掌握了基本概念。这篇文章可能会对你有所帮助:<br>https://dev59.com/_nRB5IYBdhLWcg3w6LR2 希望能帮到你 :) - varunl
__slots__ 还创建了描述符,使属性访问更快。在 __slots__ 中含有 __dict__ 仍然会创建一个字典并且允许动态属性,但是访问它们会稍微(非常)快一些。 (抱歉打扰旧帖子,我觉得被接受的答案不够充分) - Exa
1个回答

4

是的。如果你想要 __dict__,那就不要使用 __slots__


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接