Salve Andy!
Não conheço nenhum artifício da linguagem pra omitir esses parâmetros repetidos, mas também acredito que caso exista esse artifício isso só dificultaria a legibilidade do código.
Hoje em dia as IDEs possuem auto-complete, o que facilita bastante. Caso você queira reduzir seu código você pode passar como argumento um dicionário (não é uma boa opção e é mais trabalhoso na hora de chamar a função, mas solucionaria teu problema tendo que passar somente 1 variável)
def sum(nums):
return (nums['a'] + nums['b'])
nums = {'a': 5, 'b': 7}
print(f'Sum of {nums["a"]} and {nums["b"]} is {sum(nums)}')
Passar dicionários como argumentos para resolver esse problema; ao meu ver é a melhor forma. Utilizar encapsulamento quando há um número alto ou padrões de dados conhecidos ou repetidos é uma boa prática de programação, isso proporciona um código mais fácil de ler, manutenível e menos propenso à erros, é algo que você aprende ao trabalhar com linguagens com paradigma de OO. Ao citar que passar um dicionário não é uma boa opção, fez você receber esses downvotes.