Недавно я нашел функцию ''.format
очень полезной, поскольку она может улучшить читаемость много по сравнению с форматированием %
.
Попытка добиться простого форматирования строки:
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)
В то время как два первых отпечатка форматируются так, как я ожидаю (да, something=something
выглядит уродливо, но это только пример), последний вызовет KeyError : 'год'
.
Есть ли какой-нибудь трюк в python для создания словаря, чтобы он автоматически заполнил ключи и значения, например, somefunc(year, month, location)
выведет {'year':year, 'month': месяц, 'местоположение': location}
?
Я новичок в python и не смог найти никакой информации по этой теме, однако такой трюк значительно улучшит и сократит мой текущий код.
Заранее спасибо и извините за мой английский.