Tengo una cadena de esta forma
s='arbit'
string='%s hello world %s hello world %s' %(s,s,s)
Todos los% s de la cadena tienen el mismo valor (es decir, s). ¿Existe una forma mejor de escribir esto? (En lugar de enumerar s tres veces)
%operador de cadena será "obsoleto en Python 3.1 y eliminado más tarde en algún momento" docs.python.org/release/3.0.1/whatsnew/… ahora me pregunto cuál es la forma más recomendada tanto para la compatibilidad de versiones como para la seguridad.
str.format(). Ej .: query = "SELECT * FROM {named_arg}"; query.format(**kwargs), donde queryes la cadena de formato y kwargses un diccionario con claves que coinciden con la named_args en la cadena de formato.
{0}, {1}, {2}etc., corresponden a los índices de tupla 0, 1y 2, respectivamente. Alternativamente, también es posible nombrar los argumentos (como {named_arg}) y configurar cada uno en el método de formato, así:'Hi {fname} {lname}!'.format(fname='John', lname='Doe')