クラス(静的)変数とメソッド 質問する

クラス(静的)変数とメソッド 質問する

クラスを作成するにはどうすればいいですか(つまり静的) 変数またはメソッドは Python で使用できますか?

ベストアンサー1

クラス定義内で宣言されているがメソッド内では宣言されていない変数は、クラス変数または静的変数です。

>>> class MyClass:
...     i = 3
...
>>> MyClass.i
3 

として @ミラーデブ指摘したように、これはクラスレベルのi変数を作成しますが、これはインスタンスレベルのi変数とは区別されるため、

>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)

これは C++ や Java とは異なりますが、インスタンスへの参照を使用して静的メンバーにアクセスできない C# とはそれほど違いはありません。

見るPythonチュートリアルではクラスとクラスオブジェクトについて何を言っているのか

@Steve Johnsonはすでに回答しています静的メソッド、以下でも文書化されているPython ライブラリ リファレンスの「組み込み関数」

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

@beidy のおすすめクラスメソッドメソッドは最初の引数としてクラス型を受け取るため、staticmethod よりも s の方が優れています。

おすすめ記事