¿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)