クラスを作成するにはどうすればいいですか(つまり静的) 変数またはメソッドは 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 の方が優れています。