[解決済み] 静的メソッドを使用する利点は何ですか?
2022-09-24 06:38:44
質問
Pythonのコードでunboundメソッドエラーに遭遇しました。
import random
class Sample(object):
'''This class defines various methods related to the sample'''
def drawSample(samplesize,List):
sample=random.sample(List,samplesize)
return sample
Choices=range(100)
print Sample.drawSample(5,Choices)
ここで多くの役に立つ投稿を読んだ後、私はどのようにすれば
@staticmethod
を追加して、コードを動作させることができます。私はpythonの初心者です。なぜ静的メソッドを定義したいのか、どなたか説明していただけませんか?あるいは、なぜすべてのメソッドが静的メソッドとして定義されていないのでしょうか?
どのように解決するのですか?
静的メソッドは、(通常のメソッドのように)クラスのインスタンスの属性にアクセスできず、(クラスメソッドのように)クラス自体の属性にアクセスできないため、用途が限られます。
だから、日常的なメソッドとしては有用ではない。
しかし、クラスと一緒にいくつかのユーティリティ関数(例えば、ある型から別の型への単純な変換)をグループ化するのに便利な場合があり、提供されるパラメータ(そしておそらくモジュールへのいくつかのグローバル属性)以外の情報へのアクセスを必要としません。
それらはクラスの外側に置くこともできますが、クラスの内側にそれらをグループ化することは、そこでしか適用できない場合、意味をなすかもしれません。
また、モジュール名ではなく、インスタンスまたはクラスを介してメソッドを参照することができ、読者はそのメソッドがどのインスタンスに関連しているかを理解するのに役立つかもしれません。
関連
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] Pythonの静的メソッド?
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] pycharmがタブをスペースに自動変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Pythonのクラスメソッドの違い:バウンド、アンバウンド、スタティック
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] virtualenvsはどこに作成するのですか?