問題タブ [python-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
244 参照

python - 実行時にクラスの属性を変更できるようにクラスを装飾する方法

デコレータ関数で ssid の値にアクセスし、新しい属性をクラスに追加できるようにクラスを装飾したいと考えています。新しい属性には ssid の値が必要です。

0 投票する
2 に答える
358 参照

python - Python のグループ関連の定数

複数のモジュールで使用される単一のファイルで複数の関連する定数を定義する Pythonic の方法を探しています。複数のオプションを思いつきましたが、それらにはすべて欠点があります。

アプローチ 1 - 単純なグローバル定数

これはシンプルで普遍的ですが、いくつかの欠点があります。

  • _RESOURCEコンテキストを提供するために、すべての定数名に追加する必要があります
  • IDE で定数名を調べても、他の定数値が表示されない

アプローチ 2 - 列挙型

これにより、最初のアプローチの問題が解決されますが、このソリューションの欠点は.value、文字列表現を取得するために使用する必要があることです (一貫した列挙値だけでなく、文字列値が必要であると仮定します)。追加に失敗すると.value、実行時にデバッグが困難になる可能性があります。

アプローチ 3 - クラス変数

このアプローチは私のお気に入りですが、誤解されている可能性があります。クラスはインスタンス化されるように作られています。また、クラス自体の代わりにクラスのインスタンスを使用してもコードの正確性が損なわれることはありませんが、この無駄は避けたいと考えています。

このアプローチのもう 1 つの欠点は、値が実際には一定でないことです。どのコード クライアントでも、それらを変更できる可能性があります。

クラスがインスタンス化されないようにすることは可能ですか? 密接に関連する定数をグループ化する慣用的な方法がありませんか?