ホームページ >バックエンド開発 >Python チュートリアル >静的変数と静的メソッドは Python でどのように機能しますか?
Python での静的変数と静的メソッドの作成
Python では、静的変数と静的メソッドは、それぞれクラス変数とクラス メソッドと呼ばれます。これらのエンティティはクラス レベルで定義され、オブジェクトをインスタンス化せずにアクセスおよび操作できます。
クラス変数
クラス変数は、メソッドの外側のクラス定義内で宣言されます。 。これらはクラスのすべてのインスタンス間で共有され、クラス名の後にドットを使用してアクセスできます。例:
class MyClass: i = 3 print(MyClass.i) # Outputs 3
クラス メソッド
クラス メソッドはクラス内で定義される関数ですが、インスタンス メソッドとは異なり、クラス自体を操作します。インスタンス上で。これらは @staticmethod デコレーターを使用して宣言されます。
class MyClass: @staticmethod def f(arg1, arg2, ...): ...
クラス メソッドは、オブジェクトを使用せずにクラス名を使用して直接呼び出すことができます。これらは通常、ユーティリティ関数や型チェックなど、個々のインスタンスから独立したタスクを実行するために使用されます。
静的メソッドよりもクラスメソッド
一部のプログラマは、静的メソッドよりもクラスメソッドを好みます。最初の引数としてクラス型を受け取ることができるためです。これにより、メソッドがクラス固有の情報にアクセスし、より複雑な操作を実行できるようになります。
class MyClass: @classmethod def g(cls, arg1, arg2, ...): ...
例
クラス変数とクラスメソッド:
class MyClass: count = 0 @classmethod def get_count(cls): return cls.count
このクラスには、作成されたオブジェクトの数を追跡するクラス変数 count とクラスメソッド get_count が含まれています。 count の現在の値を取得します。これらを使用するには、次のように記述します。
MyClass.count += 1 # Increment the class variable print(MyClass.get_count()) # Call the class method to get the count
クラス変数とメソッドは、クラスのさまざまなインスタンス間で共有データと機能を定義して使用する便利な方法を提供し、コードの編成を簡素化し、コードの再利用性を向上させます。
以上が静的変数と静的メソッドは Python でどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。