Switch-case statement for Python
Project description
switch_case
Installation
pip3 install switch_case
Usage
from switch_case import *
reason = (
switch
| case(_ == 200) >> 'OK'
| case(_ == 500) >> 'ERROR'
| default >> 'UNKNOWN')
assert reason(200) == 'OK'
assert reason(500) == 'ERROR'
assert reason(400) == 'UNKNOWN'
Which is syntax sugar for:
from switch_case import *
from operator import eq
reason = (
switch
| case(_ /eq/ 200) >> 'OK'
| case(_ /eq/ 500) >> 'ERROR'
| default >> 'UNKNOWN')
So you can use it like this:
from switch_case import *
get_type = (
switch
| case(_ /isinstance/ str) >> "string"
| case(_ /isinstance/ int) >> "integer"
| case(_ /isinstance/ float) >> "float"
| case(_ /isinstance/ bool) >> "bool"
| default >> "other")
Or as a function:
from switch_case import *
def get_type(smth):
return ~(
switch(smth)
| case(_ /isinstance/ str) >> "string"
| case(_ /isinstance/ int) >> "integer"
| case(_ /isinstance/ float) >> "float"
| case(_ /isinstance/ bool) >> "bool"
| default >> "other")
assert get_type(42) == "integer"
assert get_type("42") == "string"
assert get_type(3.14) == "float"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
switch_case-1.4.tar.gz
(4.7 kB
view hashes)
Built Distribution
Close
Hashes for switch_case-1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02ef966f8551f415b3e373946f6cc46aaf9073715e28adfe5c488fe88a8c413a |
|
MD5 | 4822c9f61a738fd9e514ec4aa04081ed |
|
BLAKE2b-256 | 0ae65f73762edccc31f83753e4b00dfb6afeb2a72e0417f66715599561d73a27 |