类的__slots__
属性是使用Python 2或更早版本制作的,根据对Python __slots__
的回答的评论,似乎Python 3.3已经改进,因此内存大小的优势可能不是原因在例如Python 3.4程序中使用__slots__
。
我应该清理我的代码并在类中删除__slots__
的使用,还是在使用__slots__
时仍然有一些很好的理由甚至在Python 3.4程序中使用?
答案 0 :(得分:2)
通过使用__slots__
,您告诉Python不要在您的实例上拥有__dict__
属性。这是为了在您可能拥有成千上万个实例的情况下节省内存。这是在Python 2中使用它们的原因,它是在Python 3中使用它们的原因。