代码之家  ›  专栏  ›  技术社区  ›  Yuval Pruss

枚举值的python类型批注

  •  4
  • Yuval Pruss  · 技术社区  · 6 年前

    我有这段代码:

    import enum
    
    
    class Color(enum.Enum):
        RED = '1'
        BLUE = '2'
        GREEN = '3'
    
    
    def get_color_return_something(some_color):
        pass
    

    如何正确地将类型批注添加到 some_color 如果我想从颜色枚举接收值(例如: Color.RED )?

    3 回复  |  直到 6 年前
        1
  •  3
  •   ibarrond    6 年前

    提示颜色类应该工作的类型:

    def get_color_return_something(some_color: Color):
        print(some_color.value)
    
        2
  •  1
  •   ramazan polat    6 年前
    def get_color_return_something(some_color: Color):
    pass
    
        3
  •  0
  •   Joe Gasewicz    6 年前

    您可以这样打印名称和值:

    import enum
    
    class Color(enum.Enum):
      RED = '1'
      BLUE = '2'
      GREEN = '3'
    
    def get_color_return_something(some_color):
      print(some_color.name)
      print(some_color.value)
    
    get_color_return_something(Color.RED)
    # RED
    # 1
    
    推荐文章