An Enum-based implementation of switch for Python.
Enum-based Switch for Python
This is an attempt at creating a way to do a reliable, not-bug-prone
implementation, for Python, of a
switch thing like other languages
How it works
Suppose you have an enum, like this:
class Color(Enum): RED = 1 GREEN = 2 BLUE = 3
And you want to implement logic which branches based on a value which is of type
You can do it by subclassing the
Switch class. The syntax should be obvious, but:
- Inherit from Switch
- Implement a method for each value of the Enum
- If you are not implementing them all: add a
- If you leave any Enum value unaccounted for: it will raise an exception when you instantiate your class.
- Instantiate your class
- Call it as a function passing it a value from the Enum
- The respective method will be executed and its return value returned
from enum_switch import Switch class MySwitch(Switch): def RED(self): return "Apple" def GREEN(self): return "Kiwi" def BLUE(self): return "Sky" switch = MySwitch() print(switch(Color.RED)) Apple
And that's it.
Some additional notes:
- Passing it something that is not a value of the correct Enum type will raise ValueError
Hope someone finds it useful!
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for enum_switch-0.1.0-py3-none-any.whl