Recientemente, encontré que la función ''.format
es muy útil porque puede mejorar mucho la legibilidad en comparación con el formato %
. Tratar de lograr sencillo formato de cadenas:función ".format" de 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)
mientras que dos primeras impresiones no formato que espero (sí, something=something
se ve feo, pero eso es sólo un ejemplo), esta última debería aumentar KeyError: 'year'
. ¿Hay algún truco en python para crear diccionario para que llene automáticamente las claves y los valores, por ejemplo somefunc(year, month, location)
dará salida a {'year':year, 'month': month, 'location': location}
?
Soy bastante nuevo en Python y no pude encontrar ninguna información sobre este tema, sin embargo, un truco como este mejoraría y reduciría drásticamente mi código actual.
Gracias de antemano y disculpen mi inglés.
Parece que no hay forma de reducir este código de repetición :) La función es buena y fue lo que hice, en realidad, pero más tarde me resultó difícil de mantener porque con Había muchos argumentos que necesitaba para cambiar el código en varios lugares, lo que resultó ser aún peor que crear dict a mano. –
@duke_nukem sí, depende de su uso real. El código está bien y el formato api es lo suficientemente claro. Si quieres algo como 'format (* args, ** kwargs)', también podría hacerse, pero no creo que pueda facilitar las cosas. – okm