Pythonの列挙型
列挙型は、一意の定数値にバインドされたシンボリック名(メンバー)のセットである列挙型を作成するためのPythonのクラスです。列挙型のメンバーは、これらのシンボリックアニーによって比較でき、列挙型自体を繰り返すことができます。列挙型には次の特徴があります。
-
列挙型は、repr()とも呼ばれるオブジェクトの評価可能な文字列表現です。
-
列挙型の名前は、「name」キーワードを使用して表示されます。
-
type()を使用して、列挙型を確認できます。
例
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 3 # print the enum member as a string print ("The enum member as a string is : ",end="") print (Days.Mon) # print the enum member as a repr print ("he enum member as a repr is : ",end="") print (repr(Days.Sun)) # Check type of enum member print ("The type of enum member is : ",end ="") print (type(Days.Mon)) # print name of enum member print ("The name of enum member is : ",end ="") print (Days.Tue.name)
出力
上記のコードを実行すると、次の結果が得られます-
The enum member as a string is : Days.Mon he enum member as a repr is : The type of enum member is : The name of enum member is : Tue
列挙型を反復可能として印刷する
列挙型を反復可能なリストとして出力できます。以下のコードでは、forループを使用してすべての列挙型メンバーを出力します。
例
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 3 # printing all enum members using loop print ("The enum members are : ") for weekday in (Days): print(weekday)
出力
上記のコードを実行すると、次の結果が得られます-
The enum members are : Days.Sun Days.Mon Days.Tue
列挙型のハッシュ
列挙型のメンバーはハッシュ可能であるため、辞書やセットで使用できます。次の例では、ハッシュが実行されていることを確認し、ハッシュが成功したかどうかを確認します。
例
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 # Hashing to create a dictionary Daytype = {} Daytype[Days.Sun] = 'Sun God' Daytype[Days.Mon] = 'Moon God' # Checkign if the hashing is successful print(Daytype =={Days.Sun:'Sun God',Days.Mon:'Moon God'})
出力
上記のコードを実行すると、次の結果が得られます-
True
列挙型へのアクセス
メンバーアイテムの名前または値を使用して、列挙型メンバーにアクセスできます。以下の例では、最初に名前で値にアクセスし、enuの名前をインデックスとして使用します。
例
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 print('enum member accessed by name: ') print (Days['Mon']) print('enum member accessed by Value: ') print (Days(1))
出力
上記のコードを実行すると、次の結果が得られます-
enum member accessed by name: Days.Mon enum member accessed by Value: Days.Sun
列挙型の比較
列挙型の比較は非常に簡単なプロセスであるため、比較演算子を使用します。
例
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 1 if Days.Sun == Days.Tue: print('Match') if Days.Mon != Days.Tue: print('No Match')
出力
上記のコードを実行すると、次の結果が得られます-
Match No Match
-
Pythonのissuperset()
この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',
-
Pythonクラスで列挙型を使用する方法は?
pythonにはモジュール名「enum」があり、そのhepはpythonで使用されます。 #import enum import enum # use enum in class class Car(enum.Enum): suzuki = 1 Hyundai = 2 Dezire = 3 print ("All the enum values are : ") for c in (Car): print(c)