デコレーター @staticmethod

@staticmethodデコレータは、Pythonのクラス内で静的メソッドを定義するために使用されます。静的メソッドは、クラス自体に属するメソッドであり、クラスレベルの情報にアクセスできますが、インスタンス自体にはアクセスできません。静的メソッドは通常、クラスの動作に関連するユーティリティメソッドとして使用されます。以下は、@staticmethodデコレータの基本的な使い方です:

python
class MyClass: class_variable = 0 def __init__(self, value): self.value = value @staticmethod def static_method(): print("This is a static method") # 静的メソッドを呼び出す MyClass.static_method() # "This is a static method"を出力 # クラスのインスタンスを作成 obj = MyClass(42) # 静的メソッドはインスタンスからも呼び出せるが、インスタンスの状態にアクセスできない obj.static_method() # "This is a static method"を出力

上記の例では、@staticmethodデコレータがstatic_methodメソッドの上に配置されています。これにより、static_methodメソッドは静的メソッドとして定義され、クラス自体に関連付けられます。静的メソッド内では、クラスレベルの情報にアクセスできますが、インスタンスの情報にはアクセスできません。

静的メソッドは、特定のインスタンスに関連する操作ではなく、クラス全体に関連する操作を提供する場合に便利です。通常、静的メソッドは、特定のクラスに関連するユーティリティ関数として使用され、インスタンスの状態を変更する必要がない場合に適しています。