カスタム型の列挙
しかし、場合によっては列挙型の制御が必要になる場合があります。その場合は、このニーズを満たすために Enum からカスタム クラスを派生できます。上記の例を変更すると:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from enum import Enum, unique
Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
# @unique 装饰器可以帮助我们检查保证没有重复值
@unique
class Month(Enum):
Jan = 'January'
Feb = 'February'
Mar = 'March'
Apr = 'April'
May = 'May'
Jun = 'June'
Jul = 'July'
Aug = 'August'
Sep = 'September '
Oct = 'October'
Nov = 'November'
Dec = 'December'
if __name__ == '__main__':
print(Month.Jan, '----------',
Month.Jan.name, '----------', Month.Jan.value)
for name, member in Month.__members__.items():
print(name, '----------', member, '----------', member.value)出力結果は次のようになります:

上記の例を通じて、列挙モジュールが反復子を定義していることがわかります。 (インテレータ) および比較 (比較) 関数の列挙型。具体的な整数や文字列を使用する代わりに、値に対して明確に定義されたシンボルを作成するために使用できます。
新しいファイル
プレビュー
Clear
- おすすめコース
- コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜
このコースを視聴した生徒はこちらも学んでいます
















