Recentemente, ho trovato la funzione ''.format
molto utile perché può migliorare la leggibilità paragonandola alla formattazione %
. cercando di raggiungere semplice formattazione di stringhe:funzione ".format" di python
data = {'year':2012, 'month':'april', 'location': 'q2dm1'}
year = 2012
month = 'april'
location = 'q2dm1'
a = "year: {year}, month: {month}, location: {location}"
print a.format(data)
print a.format(year=year, month=month, location=location)
print a.format(year, month, location)
mentre due prime stampe si formattano come mi aspetto (sì, something=something
sembra brutto, ma questo è solo un esempio), l'ultimo solleverebbe KeyError: 'year'
. C'è qualche trucco in python per creare un dizionario in modo che riempia automaticamente le chiavi e i valori, ad esempio somefunc(year, month, location)
restituirà {'year':year, 'month': month, 'location': location}
?
Sono abbastanza nuovo per Python e non sono riuscito a trovare alcuna informazione su questo argomento, tuttavia un trucco come questo avrebbe migliorato e ridotto drasticamente il mio codice corrente.
Grazie in anticipo e scusami il mio inglese.
Sembra che non ci sia modo di ridurre questo codice ripetitivo :) La funzione è buona ed è stato quello che ho fatto, in realtà, ma in seguito ho trovato difficile da sostenere perché con un sacco di argomenti che mi servivano per cambiare codice in diversi punti, che risultò essere persino peggiore di quello che effettivamente creavo a mano. –
@duke_nukem sì dipende dall'utilizzo effettivo. Il codice è buono e il formato api è abbastanza chiaro. Se sei in grado di ottenere qualcosa come 'format (* args, ** kwargs)', potrebbe anche essere fatto, ma non penso che potrebbe rendere le cose più facili. – okm