2016-05-02 78 views
1

如果可能,我知道在其他語言(C#,JAVA,...)中使用"private"方法(使用兩個下劃線)static是很好的樣式。 有沒有對Python的建議?Python:如果可能,使私有類方法總是靜態的?

我寧願不讓它們成爲靜態的,因爲它們只是私有的(我不想將它們移動到實用程序類並且它們與性能無關),我想避免使用裝飾器混淆我的代碼。另一方面,靜態代碼分析器告訴我這樣做(並且我想用「Pythonic」方式編寫代碼)。

+0

我*的個人意見*就此不會使用靜態類方法,除非需要,無論是私人還是公共的。把事情簡單化。除非這是一個非常小的方法,經常變化,並且被證明會顯着減慢整個程序,否則優化每一個微小的位是沒有意義的。 –

回答

1

簡短的答案是你應該幾乎從不使用Python中的靜態方法。他們是added by mistake

我的意思是實現類方法,但起初我不明白 他們和意外實現靜態方法第一次。 - Guido van Rossum

你幾乎可以肯定地用類方法或實例方法實現你想要的。

更多關於爲什麼Python中的靜態方法大多無用here

+0

非常感謝這個答案(包括有用的鏈接)! – charlyinalbon

0

在python中沒有像'private method'這樣的東西,所有的方法都是公開的。唯一告訴你方法不打算公開使用的是它的名字以下劃線開頭。

如果您的方法沒有引用self(該類的一個實例)中的任何內容,那麼可以將它們設置爲靜態以優化應用程序的內存使用情況。

+0

感謝有關私人和公共方法的評論。因此,我澄清了這個問題。 – charlyinalbon

+0

你不太清楚你想要達到什麼目的。如果你不想讓這些方法靜態而不是忽略來自靜態代碼分析器的警告, – sc3w

相關問題