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)