Рассмотрим этот фрагмент:
globalVar = 25
def myfunc(paramVar):
localVar = 30
print "Vars: {globalVar}, {paramVar}, {localVar}!".format(**VARS_IN_SCOPE)
myfunc(123)
Где VARS_IN_SCOPE - это dict, который после этого будет содержать globalVar, paramVar и localVar, между прочим.
Я бы хотел в основном ссылаться на все переменные, которые в настоящее время находятся в области внутри строки. Следовательно, ожидаемый результат будет:
Vars: 25, 123, 30
Я могу достичь этого, пройдя **dict(globals().items() + locals().items()) до format(). Всегда ли это правильно или есть некоторые угловые случаи, с которыми это выражение обрабатывало бы неправильно?
Переписано для уточнения вопроса.