Ci sono degli svantaggi, avvertimenti o avvisi di cattiva pratica sull'uso del seguente schema?Uso del metodo locals() e format() per le stringhe: ci sono dei caveat?
def buildString(user, name = 'john', age=22):
userId = user.getUserId()
return "Name: {name}, age: {age}, userid:{userId}".format(**locals())
ho avuto una generazione di codice di stringa molto ripetitivo a scrivere e fu tentato di utilizzare questo, ma qualcosa su come utilizzare locals()
mi mette a disagio. C'è qualche pericolo di comportamento inaspettato in questo?
Edit: contesto
mi sono trovato costantemente scrivendo cose del genere:
"{name} {age} {userId} {etc}...".format(name=name, age=age, userId=userId, etc=etc)
Non vedo niente di terribilmente sbagliato ... – mgilson
Bel trucco davvero! –
Strettamente correlato a http://stackoverflow.com/q/1550479/125507 – endolith