For example, in PHP we can do this:
$preco = 200;
$unidades = 10;
$texto_final = "O produto custa {$preco} reais e restam {$unidades} unidades.";
Is it possible to do something similar in Python or do I need to concatenate always?
For example, in PHP we can do this:
$preco = 200;
$unidades = 10;
$texto_final = "O produto custa {$preco} reais e restam {$unidades} unidades.";
Is it possible to do something similar in Python or do I need to concatenate always?
For versions prior to 3.6, always prefer to use the str.format
method and I explain the reason for this question:
Already, since version 3.6, a new way of performing the interpolation has been added: as f-strings ( PEP 498 ). They are strings defined with the prefix f
and can contain expressions between keys that will be parsed at runtime.
preco = 200
unidades = 10
print(f"O produto custa {preco} reais e restam {unidades} unidades.")
See working at Repl.it
You can even use the training rules that the str.format
method has, such as:
pi = 3.14159
print(f'O valor de pi é {pi: >10.3}')
See working at Repl.it
You can do this:
preco = 200
unidades = 10
texto_final = "O produto custa R$ %.2f reais e restam %s unidades." % (preco, unidades)
print(texto_final)
# Outros exemplos
nome = 'Thon';
sobre = 'de Souza';
print("%s %s" % (nome, sobre))
print("{} {}".format(nome, sobre))
print("{nome} {sobre}".format(nome="João", sobre="da Silva"))
print("{sobre} {nome}".format(nome="João", sobre="da Silva"))
preco = 162.58
print("R$ %.1f" % (preco))
print("R$ %.2f" % (preco))
print("R$ %.3f" % (preco))
See working at repl.it