使用枚舉類
定義常量的兩種方法:
1、用大寫變量通過整數(shù)來定義
2薪韩、用Enum枚舉類來實現(xiàn)
比如定義一個月份”Month“的類型确沸。
fromenumimportEnumMonth = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
(1)通過Month.Jan來引用一個常量(給它Jan賦值)。
(2)forname, menberinMonth.__member__.item():
print(name, ' => ', member, ' , ', member.value)
value屬性則是自動賦給成員的int常量俘陷,默認從1開始計數(shù)罗捎。
用Enum派生出自定義類:
fromenumimportEnum, unique@uniqueclass Weekday(Enum):? ? Sun = 0 # Sun的value被設(shè)定為0? ? Mon = 1? ? Tue = 2? ? Wed = 3? ? Thu = 4? ? Fri = 5? ? Sat = 6
@unique裝飾器可以幫助我們檢查保證沒有重復(fù)值。
小結(jié)
Enum可以把一組相關(guān)常量定義在一個class中拉盾,且class不可變桨菜,而且成員可以直接比較。