Używanie metody locals () i format () dla łańcuchów: czy są jakieś zastrzeżenia?

Czy są jakieś wady, ostrzeżenia lub złe ostrzeżenia dotyczące stosowania następującego wzoru?

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

Miałem bardzo powtarzalny kod generujący ciąg znaków i miałem ochotę go użyć, ale coś o używaniulocals() sprawia, że ​​czuję się nieswojo. Czy istnieje niebezpieczeństwo niespodziewanego zachowania?

Edytuj: kontekst

Nieustannie piszę takie rzeczy jak:

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

questionAnswers(4)

yourAnswerToTheQuestion