Python 枚举类

刺骨的言语ヽ痛彻心扉 2023-05-28 11:25 100阅读 0赞
  1. def judge(color):
  2. if color == 1 or color == 2:
  3. print("司机违规")
  4. else:
  5. print("司机正常行驶")

使用枚举类

  1. from enum import Enum
  2. class TrafficLight(Enum):
  3. RED = 1
  4. YELLOW = 2
  5. GREEN = 3
  6. def judge(color):
  7. if color == TrafficLight.RED or color == TrafficLight.YELLOW:
  8. print("司机违规")
  9. else:
  10. print("司机正常行驶")

详细说明

  1. class TrafficLight(Enum):
  2. # 枚举成员RED = 1
  3. # RED 名字
  4. # 1 是值
  5. RED = 1
  6. YELLOW = 2
  7. GREEN = 3
  8. print(TrafficLight.RED) # 这个是一个类型 <enum 'TrafficLight'>
  9. print(TrafficLight.RED.name) # 输出RED
  10. print(TrafficLight.RED.value) # 输出1
  11. print(TrafficLight(2)) # 打印的是 YELLOW
  12. `如果还有一个BLACK = 1 那么TrafficLight(1) 是RED`
  13. `只会获取第一个,BLACK 相当于RED 枚举成员的别名`
  14. `值value可以重复,但是键key不可以重复`
  15. `使用@unique装饰TrafficLight类,则值value也不能够重复`
  16. print(TrafficLight.RED == 1) # False 不能犯这种错误
  17. print(TrafficLight.RED.value == 1) # True 这才是正确的

发表评论

表情:
评论列表 (有 0 条评论,100人围观)

还没有评论,来说两句吧...

相关阅读

    相关

    一、简介             枚举类,写起来代码比较优雅,一个对象的所有的状态值和状态名称都在一个枚举类中,方便维护。另外可以有一些特殊用法,如接口枚举集合(适用于枚

    相关

    总结: 1. 所有枚举值都是 public static final 的,且非抽象的枚举类不能再派生子类。 2. 枚举值必须在枚举类的第一行显式地列出,否则这个枚举类将永