¿Cómo hago un bucle a través de** kwargs en Python?
python argv (2)
Solo una nota rápida para aquellos que actualicen a Python 3.
En Python 3 es casi lo mismo:
subject = obj.subject
body = obj.body
for key, value in kwargs.items():
subject = subject.replace(''[{0}]''.format(key.toupper()), value)
body = body.replace(''[{0}]''.format(key.toupper()), value)
return (subject, body, obj.is_html)
Observe que iteritems()
convierte en items()
ya que dict
ya no tiene iteritems
método.
En el código a continuación, quiero leer obj.subject
y colocarlo en var subject,
también leer obj.body
y colocarlo en body
. Primero quiero leer las variables de kwargs
y buscar palabras clave dentro de la cadena para reemplazar, si no existe ninguna, kwargs
.
¿Cómo puedo iterar a través de kwargs
en Python?
for key in kwargs:
subject = str(obj.subject).replace(''[%s]'' % upper(key), kwargs[key])
for key in kwargs:
body = str(obj.body).replace(''[%s]'' % upper(key), kwargs[key])
return (subject, body, obj.is_html)
Para usuarios de Python 3:
Puedes iterar a través de kwargs
con .items()
subject = obj.subject
body = obj.body
for key, value in kwargs.items():
subject = subject.replace(''[%s]'' % key.toupper(), value)
body = body.replace(''[%s]'' % key.toupper(), value)
return (subject, body, obj.is_html)
Para usuarios de Python 2:
Puedes iterar a través de kwargs
con .iteritems()
:
subject = obj.subject
body = obj.body
for key, value in kwargs.iteritems():
subject = subject.replace(''[%s]'' % key.toupper(), value)
body = body.replace(''[%s]'' % key.toupper(), value)
return (subject, body, obj.is_html)