【发布时间】:2017-09-16 06:43:32
【问题描述】:
在python中使用槽是一种很好的pythonic技术还是来自C语言家族的习惯?我听说它们提高了程序的性能并减少了内存消耗,尤其是在创建许多对象时。原则上,使用插槽可能会成为一种日常工作,因为几乎总是有人可能知道类的属性是什么。那么我应该一直使用插槽吗?我应该什么时候准确地使用插槽?
【问题讨论】:
-
仅在您认为需要创建大量(读取 100,000 个)此类对象时才使用插槽。否则,这似乎完全没有必要。
-
这里的回答相当全面stackoverflow.com/a/28059785/532978
-
如果您想知道是否应该使用插槽,请不要使用插槽。如果你真的需要它,你会知道的。
-
还有第二个好处 - 你可以添加一个
__slots__dict来记录你的代码,并且像 PyCharm 这样的 linter/IDE 使用__slots__来检查你的变量访问。