Usando o método locals () e format () para strings: há alguma ressalva?

Há alguma desvantagem, advertência ou advertência sobre o uso do seguinte padrão?

def buildString(user, name = 'john', age=22):
    userId = user.getUserId()
    return "Name: {name}, age: {age}, userid:{userId}".format(**locals())

Eu tinha um código de geração de strings muito repetitivo para escrever e fiquei tentado a usar isso, mas algo sobre o usolocals() me deixa desconfortável. Existe algum perigo de comportamento inesperado nisso?

Editar: contexto

Eu me encontrei constantemente escrevendo coisas como:

"{name} {age} {userId} {etc}...".format(name=name, age=age, userId=userId, etc=etc)

questionAnswers(4)

yourAnswerToTheQuestion