ホームページ  >  記事  >  バックエンド開発  >  Python の列挙型 Enum

Python の列挙型 Enum

巴扎黑
巴扎黑オリジナル
2017-06-23 15:32:431601ブラウズ

列挙型は一般的に使用される関数です。Python の列挙型を見てください。

from enum import Enum

Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
@uniqueclass Weekday(Enum):
    Sun = 0 # Sun的value被设定为0
    Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)

列挙型の定義

  1. まず、列挙型を定義するには、インポートします。 enumモジュール。

  2. 列挙はclassキーワードを使用して定義され、Enumクラスを継承します。

注:

列挙型を定義する場合、メンバー名を繰り返すことはできません

デフォルトでは、異なるメンバー値が同じであることが許可されます。ただし、同じ値を持つ 2 つのメンバーの場合、2 番目のメンバーの名前は最初のメンバーの別名とみなされます

列挙型に同じ値を持つメンバーがある場合、列挙型メンバーを値で取得するときに、最初のメンバー

<em><span style="font-family: 宋体"> </span></em><span style="font-family: 宋体; font-size: 15px">如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】</span><span style="font-family: 宋体"><br><br><br></span><em><span style="font-family: 宋体"><br></span></em>
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
<br>
を取得した後、Month型の列挙クラスを取得します。これは、Month.Janを使用して直接参照できます。定数、または列挙型のすべてのメンバー

Month类型的枚举类,可以直接使用Month.Jan来引用一个常量,或者枚举它的所有成员.

访问这些枚举类型可以有若干种方法:

枚举支持迭代器,可以遍历枚举成员

>>> day1 = Weekday.Mon>>> print(day1)
Weekday.Mon>>> print(Weekday.Tue)
Weekday.Tue>>> print(Weekday['Tue'])
Weekday.Tue>>> print(Weekday.Tue.value)2>>> print(day1 == Weekday.Mon)
True>>> print(day1 == Weekday.Tue)
False>>> print(Weekday(1))
Weekday.Mon>>> print(day1 == Weekday(1))
True>>> Weekday(7)
Traceback (most recent call last):
  ...
ValueError: 7 is not a valid Weekday>>> for name, member in Weekday.__members__.items():
...     print(name, '=>', member)
...
Sun => Weekday.Sun
Mon => Weekday.Mon
Tue => Weekday.Tue
Wed => Weekday.Wed
Thu => Weekday.Thu
Fri => Weekday.Fri
Sat => Weekday.Sat

枚举取值 总结:

通过成员的名称来获取成员;通过成员值来获取成员;通过成员,来获取它的名称和值.

 

注意: Enum 的成员均为单例(Singleton),并且不可实例化,不可更改.

枚举是可以比较的:

举成员可进行同一性比较,可进等值比较,不能进行大小比较.

总结:Enum これらの列挙型にアクセスするには、いくつかの方法があります: 列挙型は、列挙型メンバーを横断できる反復子をサポートします

🎜🎜rrreee🎜🎜🎜 列挙値の概要:🎜🎜🎜🎜 🎜名前でメンバーを取得します;🎜値でメンバーを取得します;🎜メンバーで名前と値を取得します。🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜注: Enum のメンバーは次のとおりです。すべてのシングルトンであり、インスタンス化または変更することはできません。 、🎜はできません🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 概要: Enum は、関連する定数のグループを定義できます。クラスでは、クラスは不変であり、メンバーは直接比較できます。列挙を実装する方法はたくさんあります。 🎜🎜🎜🎜

以上がPython の列挙型 Enumの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。