Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Sử dụng Enum trong class Python

Module enum trong Python hỗ trợ tạo enum.

Ví dụ cơ bản

import enum

class Car(enum.Enum):
    SUZUKI = 1
    HYUNDAI = 2
    DEZIRE = 3

print("All enum values:")
for c in Car:
    print(c)

Kết quả

Car.SUZUKI
Car.HYUNDAI
Car.DEZIRE

Truy cập giá trị và tên

print(Car.SUZUKI.name)   # SUZUKI
print(Car.SUZUKI.value)  # 1

# So sánh
print(Car.SUZUKI == Car.SUZUKI)  # True
print(Car.SUZUKI == 1)           # False (enum không tự so sánh với int)

# Dùng IntEnum nếu cần so sánh với int
from enum import IntEnum
class Priority(IntEnum):
    LOW = 1
    HIGH = 2

print(Priority.HIGH > Priority.LOW)  # True

Enum nâng cao

  • auto(): tự động gán giá trị tăng dần
  • @unique: decorator đảm bảo giá trị không trùng
  • Enum có thể có method, property