I want to type the parameter of a method to be one of a finite set of valid values. So basically, I would like to have the typing
equivalent of the following minima
I want to type the parameter of a method to be one of a finite set of valid values
Use Enum
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
def handle_color(color):
if not isinstance(color, Color):
raise ValueError('Not a color')
print(color)
handle_color(Color.GREEN)
handle_color('something')