# 定义一个Color枚举类 classColor(Enum): RED = auto() # RED 自动赋值 GREEN = auto() # GREEN 自动赋值 BLUE = auto() # BLUE 自动赋值
# 使用枚举 defprint_color(color): if color == Color.RED: print("The color is Red") elif color == Color.GREEN: print("The color is Green") elif color == Color.BLUE: print("The color is Blue")
# 测试打印颜色 print_color(Color.RED) # 输出: The color is Red print_color(Color.GREEN) # 输出: The color is Green
# 示例状态机函数 defstate_machine(state): if state == State.START: print("Starting...") elif state == State.PROCESSING: print("Processing...") elif state == State.FINISHED: print("Finished successfully!") elif state == State.FAILED: print("Operation failed.")
# 连接到数据库(在内存中创建一个临时数据库) conn = sqlite3.connect(':memory:') c = conn.cursor()
# 创建一个用户表,其中role字段使用枚举 c.execute('''CREATE TABLE user (id INTEGER PRIMARY KEY, name TEXT, role TEXT)''')
# 插入一些数据 c.execute("INSERT INTO user (name, role) VALUES (?, ?)", ('Alice', Role.ADMIN.value)) c.execute("INSERT INTO user (name, role) VALUES (?, ?)", ('Bob', Role.USER.value)) c.execute("INSERT INTO user (name, role) VALUES (?, ?)", ('Charlie', Role.GUEST.value)) conn.commit()
# 从数据库中读取数据并使用枚举 c.execute("SELECT name, role FROM user") users = c.fetchall() for name, role in users: print(f'User: {name}, Role: {Role(role).name}') # 使用枚举来显示角色名称