カスタム型の列挙

しかし、場合によっては列挙型の制御が必要になる場合があります。その場合は、このニーズを満たすために 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)

出力結果は次のようになります:

7ee49a517fbabe7772b6f5c5b285ad0.png

上記の例を通じて、列挙モジュールが反復子を定義していることがわかります。 (インテレータ) および比較 (比較) 関数の列挙型。具体的な整数や文字列を使用する代わりに、値に対して明確に定義されたシンボルを作成するために使用できます。

学び続ける
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!