otra cosa, si es una mala práctica, porque no son seguros cuando se vuelven demasiado largos e implican una ramificación condicional innecesaria (tal vez afecta al compilador/almacenamiento en caché).
probar este ...
class Functions():
@staticmethod
def func():
print("so - foo")
@staticmethod
def funcWithArgs(junk):
print(junk, "foo")
# fill in your cases here...
cases = {
"a" : Functions.func ,
"b" : Functions.funcWithArgs ,
"c" : Functions.funcWithArgs
}
def switch(ch, cases, *args):
try:
len(*args) # empty args
except TypeError:
return cases[ ch ]()
return cases[ ch ](*args)
# try out your switch...
switch("a", cases) # "so - foo"
switch("b", cases, "b -") # "b - foo"
switch("c", cases, "c -") # "c - foo"
¿Estás tratando de hacer [{ '0': 'Off', '1': 'En'}. Get (b) para b en "01101101"] – joeforker