2017-04-19 82 views
0

在python中使用插槽是一種好的pythonic技術,還是來自C語言家族的習慣?我聽說他們提高了程序的性能並減少了內存消耗,特別是當創建了許多對象時。原則上講,使用插槽可能會成爲日常工作,因爲幾乎總是可以知道班級的屬性是什麼。那麼我應該一直使用插槽嗎?我應該什麼時候準確使用插槽?在python中使用插槽是個好主意嗎?

+3

只有在您認爲需要創建大量批量(讀取100,000秒)的此類對象時才使用插槽。否則,這似乎完全是不必要的。 –

+1

非常全面的答案在這裏http://stackoverflow.com/a/28059785/532978 – JCOC611

+1

如果你想知道你是否應該使用插槽,不要使用插槽。如果你真的需要它,你會知道的。 – wim

回答

1

這裏是'official' answer插槽 類內部的聲明,通過預先聲明的實例空間屬性和消除例如字典可以節省內存,雖然流行,該技術是有點棘手得到正確的和最好保留對於內存關鍵型應用程序中存在大量實例的罕見情況。「

我相信對3.6中的CPython字典內部進行的更改將會使得__slots__的收益有所降低。

相關問題