列挙型クラスの使用

実際の開発では、定数を定義しないわけにはいきません。定数を定義する必要がある場合は、大文字の変数を使用して、月などの整数で定数を定義するのも 1 つの方法です。これは簡単ですが、欠点は型が int でありながら変数であることです。

何か良い方法はありますか?

現時点ではクラス型を定義しており、各定数はクラス内の唯一のインスタンスです。たまたま、Python はこの関数を実装するための Enum クラスを次のように提供しています:

JAN = 1
FEB = 2
MAR = 3
...
NOV = 11
DEC = 12

出力結果は次のとおりです:

それは確認できます。 Enum を直接使用して列挙を定義できること、クラスを与えます。上記のコードでは、月に関する列挙型 Month を作成します。ここで注目すべきは構築パラメーターです。最初のパラメーター Month は列挙型クラスのクラス名を表し、2 番目のタプル パラメーターは列挙型を表します。の値は、列挙型クラス; もちろん、列挙型クラスは __members__ メソッドを通じてそのすべてのメンバーを走査します。注意すべき点の 1 つは、member.value はメンバーに自動的に割り当てられる int 型の定数であり、デフォルトでは 1 から始まるということです。さらに、Enum のメンバーはすべてシングルトンであり、インスタンス化したり変更したりすることはできません。

学び続ける
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜