ホームページ >バックエンド開発 >Python チュートリアル >Python でクラス (静的) 変数とメソッドを作成および使用するにはどうすればよいですか?

Python でクラス (静的) 変数とメソッドを作成および使用するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-29 13:33:11452ブラウズ

How Do I Create and Use Class (Static) Variables and Methods in Python?

Python でのクラス (静的) 変数とメソッドの作成

Python では、クラスレベルの (静的) 変数とメソッドを作成できます。データと関連する機能を保存し、アクセスするための集中化されたメカニズム。 class.

クラス (静的) 変数:

メソッド外のクラス定義内で宣言された変数は、クラス変数または静的変数とみなされます。これらの変数は、クラスのすべてのインスタンス間で共有されます。

class MyClass:
    i = 3  # Class (static) variable

クラス (静的) メソッド:

クラス変数とは異なり、静的メソッドはクラス変数およびメソッドにアクセスできます。ただし、self パラメータを介してインスタンス固有のデータは受信しません。これにより、インスタンスのコンテキスト内ではなくクラス レベルで動作するアクションに適しています。

静的メソッドを作成するには、@staticmethod デコレータを使用します。

class C:
    @staticmethod
    def f(arg1, arg2, ...): ...

クラス メソッドと静的メソッド:

クラス メソッドと静的メソッドはどちらもクラス レベルで動作しますが、クラスメソッドは最初の引数としてクラス型を受け取ります。これにより、静的変数とインスタンス データの両方にアクセスできるようになります。

たとえば、クラス メソッドを使用してファクトリ メソッドを作成します。

class MyClass:
    @classmethod
    def create(cls, data):
       ...  # Create an instance using `cls`, which is the class type

推奨事項:

@beidy は、可能であれば静的メソッドではなくクラス メソッドを使用することをお勧めします。これにより、柔軟性が高まり、メソッドがインスタンスで動作できるようになります。データ。

以上がPython でクラス (静的) 変数とメソッドを作成および使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。