ホームページ >バックエンド開発 >Python チュートリアル >Python の静的メソッドはクラス インスタンスで呼び出すことができますか?
Python の静的メソッド
Python の静的メソッドを使用すると、オブジェクトの必要性を回避して、クラス インスタンス上でメソッドを直接呼び出すことができます。この構文は特定の状況で役立ちます:
クラス インスタンスで静的メソッドを呼び出すことはできますか?
はい、確かに静的メソッドはクラス インスタンスで直接呼び出すことができます。例:
class MyClass: @staticmethod def the_static_method(x): print(x) MyClass.the_static_method(2) # outputs 2
静的メソッドの定義方法
Python は @staticmethod デコレーターを使用して静的メソッドを定義します。
class MyClass(object): @staticmethod def the_static_method(x): print(x)
静的の従来の使用法メソッド
古い Python バージョン (2.2 および 2.3) では、静的メソッドの定義に別の構文が使用されていました。
class MyClass(object): def the_static_method(x): print(x) the_static_method = staticmethod(the_static_method)
静的メソッドは控えめに使用する
Python では静的メソッドを現状のまま慎重に使用する必要があります通常は必要ではなく、不必要な複雑さが生じる可能性があります。
静的メソッドに関する Python ドキュメント
公式 Python ドキュメントでは、静的メソッドを次のように定義しています。
"A静的メソッドは暗黙的な最初の引数を受け取りません。静的メソッドを宣言するには、これを使用します。イディオム:"
class C: @staticmethod def f(arg1, arg2, ...): ...
"@staticmethod フォームは関数 decorator です...クラス (C.f() など) またはインスタンス ( C().f() など) インスタンスはクラスを除いて無視されます。"
以上がPython の静的メソッドはクラス インスタンスで呼び出すことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。