Categorias
Programação Python 3

ūüźćPyTricks: Dicts can be used to emulate switch/case statements

Fonte: RealPython


# Because Python has first-class functions they can
# be used to emulate switch/case statements

def dispatch_if(operator, x, y):
    if operator == 'add':
        return x + y
    elif operator == 'sub':
        return x - y
    elif operator == 'mul':
        return x * y
    elif operator == 'div':
        return x / y
    else:
        return None


def dispatch_dict(operator, x, y):
    return {
        'add': lambda: x + y,
        'sub': lambda: x - y,
        'mul': lambda: x * y,
        'div': lambda: x / y,
    }.get(operator, lambda: None)()


>>> dispatch_if('mul', 2, 8)
16

>>> dispatch_dict('mul', 2, 8)
16

>>> dispatch_if('unknown', 2, 8)
None

>>> dispatch_dict('unknown', 2, 8)
None

Deixe um coment√°rio

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Voc√™ est√° comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Voc√™ est√° comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Voc√™ est√° comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Voc√™ est√° comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em coment√°rios s√£o processados.