Penghitungan jenis tersuai
Tetapi kadangkala kita perlu mengawal jenis penghitungan, kemudian kita boleh memperoleh kelas tersuai daripada Enum untuk memenuhi keperluan ini. Dengan mengubah suai contoh di atas:
#!/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 裝飾器可以幫助我們檢查保證沒有重復(fù)值 @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)
Hasil output adalah seperti berikut:
Melalui contoh di atas, anda boleh mengetahui bahawa modul penghitungan mentakrifkan jenis penghitungan dengan fungsi lelaran (interator) dan perbandingan (perbandingan). Ia boleh digunakan untuk mencipta simbol yang jelas untuk nilai dan bukannya menggunakan integer atau rentetan konkrit.