Type annotations for Enum value

2020-05-29 16:21发布

问题:

I have this piece of code:

import enum


class Color(enum.Enum):
    RED = '1'
    BLUE = '2'
    GREEN = '3'


def get_color_return_something(some_color):
    pass

How do I properly add type annotations to the some_color varaible in this function, if I suppose to receive a value from the Color enum (for example: Color.RED)?

回答1:

Type hinting the Color class should work:

def get_color_return_something(some_color: Color):
    print(some_color.value)


回答2:

def get_color_return_something(some_color: Color):
    pass