Enum là một lớp trong python để tạo bảng liệt kê, là một tập hợp các tên tượng trưng (thành viên) được liên kết với các giá trị không đổi, duy nhất. Các thành viên của một phép liệt kê có thể được so sánh bằng các ký hiệu tượng trưng này và bản thân phép liệt kê có thể được lặp lại. Một enum có các đặc điểm sau.
-
Các enums là biểu diễn chuỗi có thể đánh giá được của một đối tượng còn được gọi là repr ().
-
Tên của enum được hiển thị bằng từ khóa "name".
-
Sử dụng type (), chúng ta có thể kiểm tra các loại enum.
Ví dụ
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 3 # print the enum member as a string print ("The enum member as a string is : ",end="") print (Days.Mon) # print the enum member as a repr print ("he enum member as a repr is : ",end="") print (repr(Days.Sun)) # Check type of enum member print ("The type of enum member is : ",end ="") print (type(Days.Mon)) # print name of enum member print ("The name of enum member is : ",end ="") print (Days.Tue.name)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
The enum member as a string is : Days.Mon he enum member as a repr is : The type of enum member is : The name of enum member is : Tue
In enum dưới dạng có thể lặp lại
Chúng ta có thể in enum dưới dạng một danh sách có thể lặp lại. Trong đoạn mã dưới đây, chúng tôi sử dụng vòng lặp for để in tất cả các thành viên enum.
Ví dụ
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 3 # printing all enum members using loop print ("The enum members are : ") for weekday in (Days): print(weekday)
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
The enum members are : Days.Sun Days.Mon Days.Tue
Hashing enums
Các thành viên trong Bảng kê có thể được băm, do đó chúng có thể được sử dụng trong từ điển và bộ. trong ví dụ dưới đây, chúng ta thấy hàm băm đang hoạt động và kiểm tra xem quá trình băm có thành công hay không.
Ví dụ
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 # Hashing to create a dictionary Daytype = {} Daytype[Days.Sun] = 'Sun God' Daytype[Days.Mon] = 'Moon God' # Checkign if the hashing is successful print(Daytype =={Days.Sun:'Sun God',Days.Mon:'Moon God'})
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
True
Truy cập enums
Chúng tôi có thể truy cập các thành viên enum bằng cách sử dụng tên hoặc giá trị của các mục thành viên. Trong ví dụ dưới đây, trước tiên chúng ta truy cập giá trị theo tên, trong đó chúng ta sử dụng tên của enu làm chỉ mục.
Ví dụ
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 print('enum member accessed by name: ') print (Days['Mon']) print('enum member accessed by Value: ') print (Days(1))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Thành viênenum member accessed by name: Days.Mon enum member accessed by Value: Days.Sun
So sánh các enums
So sánh các enums là một quá trình tiến lên nhanh chóng, chúng tôi sử dụng toán tử so sánh.
Ví dụ
import enum # Using enum class create enumerations class Days(enum.Enum): Sun = 1 Mon = 2 Tue = 1 if Days.Sun == Days.Tue: print('Match') if Days.Mon != Days.Tue: print('No Match')
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Match No Match