Как пройти через **kwargs в Python?
в коде ниже я хочу прочитать obj.subject
и поместите его в var subject,
Читайте также obj.body
и body
. Сначала я хочу прочитать kwargs
переменные и поиск ключевых слов в строке для замены, если ни один не существует, то двигаться дальше.
как я могу перебрать kwargs
в 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)
2 ответов
для пользователей Python 3:
вы можете перебирать kwargs
С .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)
для пользователей Python 2:
вы можете перебирать kwargs
С .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)
просто краткое Примечание Для тех, кто обновляется до Python 3.
в Python 3 это почти то же:
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)
обратите внимание, что iteritems()
становится items()
as dict
больше не имеет метода iteritems
.