Executando verificação de segurança...
Respondendo a "Antes, umas correções: na primeira função o ret..." dentro da publicação [Não disponível]
2

O que acha dessa forma?

action = 'read'
recieveActionsShort = lambda action: {'create': 1, 'read': 2, 'update': 3, 'delete': 4}.get(action, None)
value = recieveActionsShort(action)
print(value)

Nesse caso para poucos valores fica até bom colocar em apenas 1 linha usando função lambda do python. Mas acredito que perde na legibilidade.

Carregando publicação patrocinada...
3

Acho que fica menos legível, e continua com a desvantagem de gerar o dicionário toda hora.

Se quer mesmo usar o dicionário, poderia criar apenas uma vez. E aí pode até usar a opção que eu fiz, de passá-lo como parâmetro da função. Ou a função sempre usa o mesmo dicionário (usando global, que eu não gosto muito).

Na verdade, se a função faz só isso (apenas pega um dos valores), acho até que ela é desnecessária, use logo o dicionário e pronto. Só vejo necessidade da função se ela fizer algo a mais.