私はJavaのバックグラウンドを持っており、Pythonは初めてです。ファイルの読み取りと書き込みに関連するアプリケーションに固有のヘルパー関数を共有するスクリプトがいくつかあります。読み取りに関連する機能もあれば、書き込みに関連する機能もあります。正しいアプローチを探しているときに、これを見ました: Pythonの静的メソッド?
彼は答えの中で次のように述べています。
最後に、staticmethod は慎重に使用してください。Python で static-methods が必要になる状況はほとんどありません。別の「トップレベル」関数の方が明確な場合に、static-methods が何度も使用されているのを見てきました。
私はトップレベルの関数をよく理解していません。この単純な例を考えると、どちらが優れているかわかりません: 1) 静的リーダー関数を使用してリーダー用のクラスを作成し、ライター用に同じクラスを作成するか、2) これらのヘルパーを宣言します。グローバル関数として、なぜですか?
編集:このテーマに関する本当に良い記事を見つけましたhttp://tomayko.com/writings/the-static-method-thing