В Python вы должны явно передавать словарь возможных переменных, вы не можете получить доступ к произвольным «внешним» переменным изнутри строки. Но вы можете использовать функцию locals()
, которая возвращает словарь со всеми переменными локальной области видимости.
Для фактической замены есть много способов сделать это (как нелепо!):
greeting = "Hello World"
# Use this in versions prior to 2.6:
print("My first programm; %(greeting)s" % locals())
# Since Python 2.6, the recommended example is:
print("My first program; {greeting}".format(**locals()))
# Works in 2.x and 3.x:
from string import Template
print(Template("My first programm; $greeting").substitute(locals()))