A maneira comum é a format()
função:
>>> s = "This is an {example} with {vars}".format(vars="variables", example="example")
>>> s
'This is an example with variables'
Ele funciona bem com uma string de formato de várias linhas:
>>> s = '''\
... This is a {length} example.
... Here is a {ordinal} line.\
... '''.format(length='multi-line', ordinal='second')
>>> print(s)
This is a multi-line example.
Here is a second line.
Você também pode passar um dicionário com variáveis:
>>> d = { 'vars': "variables", 'example': "example" }
>>> s = "This is an {example} with {vars}"
>>> s.format(**d)
'This is an example with variables'
A coisa mais próxima do que você perguntou (em termos de sintaxe) são strings de modelo . Por exemplo:
>>> from string import Template
>>> t = Template("This is an $example with $vars")
>>> t.substitute({ 'example': "example", 'vars': "variables"})
'This is an example with variables'
Devo acrescentar, porém, que a format()
função é mais comum porque está prontamente disponível e não requer uma linha de importação.
vars()
oulocals()
como o dicionário em questão