Executando verificação de segurança...
Em resposta a [Não disponível]
1

O Python possui Enums desde a versão 3.4.
https://docs.python.org/3/howto/enum.html

Considero que um Enum seria uma alternativa bem mais limpa neste exemplo em específico, tendo em vista que, ao invés de termos que passar uma string Literal com determinados valores para a action (que a pessoa precisa entrar na função pra ver quais são os valores possíveis), o auto-complete da sua IDE te daria as opções de ações possíveis de utilizar.

Porém, o Enum só resolve essa função que você mostrou, em específico. O que mais me preocupa é aonde e como essa função será utilizada. Dependendo do design, quem chamar essa função terá que se preocupar com 4 ações diferentes. Isso irá ferir o Princípio da Responsabilidade Única.

Pra resolver essa questão, a sugestão do @clacerda seria a mais completa, das que vi aqui até agora.

Carregando publicação patrocinada...