Даны:Python строка интерполяция с использованием словаря и строк
dict = {"path": "/var/blah"}
curr = "1.1"
prev = "1.0"
Что лучший/кратчайший путь к интерполировать строку для создания следующим:
пути:/вар/л CURR: 1.1 предыдущих : 1,0
Я знаю, что это работает:
str = "path: %(path)s curr: %(curr)s prev: %(prev)s" % {"path": dict["path"],"curr": curr, "prev": prev}
Но я надеялся, что есть более короткий путь, например:
str = "path: %(path)s curr: %s prev: %s" % (dict, curr, prev)
Мои извинения, если это кажется излишне педантичным вопрос.
Избегайте использует местных жителей() и глобалов() :( – dzen
@dzen Почему избежать местных жителей()? Я попытался найти этот совет в другом месте, и я не находящих много. – bradreaves
Использование ' locals() 'означает, что неясно, какие переменные вы на самом деле. Если вы хотите нарисовать свой код, pylint вполне может сообщить, что некоторые переменные не использовались, хотя вы ссылались на них неявно на' locals() '. Pylint бы для проверки всех операторов строкового формата для такого неявного использования. Таким образом, это ярлык, последствия которого вы должны понять перед использованием. – hughdbrown