デコレータ @staticmethod

@staticmethodデコレータは、Pythonで静的メソッド(static method)を定義するために使用されるデコレータの一つです。静的メソッドは、クラスのインスタンスを介さずに直接クラス自体から呼び出すことができるメソッドであり、インスタンス変数やクラス変数にアクセスする必要がない場合に便利です。

@staticmethodデコレータを使用することで、静的メソッドを明示的に定義できます。以下は、@staticmethodデコレータの使用例です:

python
class MyClass: class_variable = "クラス変数" def __init__(self, value): self.instance_variable = value @staticmethod def static_method(x): print(f"静的メソッドが呼ばれました。引数: {x}") # 静的メソッドを呼び出す MyClass.static_method(42) # クラスからインスタンスを作成して静的メソッドを呼び出す(一般的でないが可能) obj = MyClass("インスタンス変数") obj.static_method(123)

上記の例では、@staticmethodデコレータを使用してstatic_methodという静的メソッドを定義しています。静的メソッドはクラス自体から直接呼び出すことができ、インスタンスを作成しなくてもアクセスできます。

静的メソッドは、クラスやインスタンスに依存せず、引数を受け取って処理を行う場合に使用されます。静的メソッド内では、selfcls などの特別な引数は使用されず、通常の関数のように引数を受け取り、返り値を返すことができます。

@staticmethodデコレータを使用することで、クラス内で静的メソッドを定義し、クラスに関連する操作を実行できます。