[解決済み] Pythonで静的なクラス変数は可能ですか?
2022-03-19 21:18:20
質問
Pythonで静的なクラス変数やメソッドを持つことは可能でしょうか?これを行うにはどのような構文が必要ですか?
どのように解決するのですか?
クラス定義の内部で宣言され、メソッドの内部で宣言されない変数は、クラス変数または静的変数です。
>>> 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 よりも優れています。なぜなら、このメソッドは最初の引数としてクラス型を受け取るからです。
関連
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] Pythonの静的メソッド?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python 入出力と高次代入の基礎知識
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み] データ型が理解できない
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac