2
respostas

Qual a vantagem do recurso f-string?

Bom dia,

No exemplo dado:

nome = 'Matheus' print(f'Meu nome é {nome}') Meu nome é Matheus

Não entendi a vantegem desse recurso, pois se digitar o recuso "f-sting" a saída é a mesma, ou seja, se eu digitar:

nome = 'Matheus' print("Meu nome é", nome) Meu nome é Matheus

Desde jé agradeço.

2 respostas

Oi Diogo. Posso ver algumas vantagens do segundo método. Primeiro que o código fica mais claro de saber o que vai em cada lugar. Segundo que você pode inverter a ordem das variáveis com facilidade e ter uma unica estrutura de texto. Então, ao invés de ficar quebrando a string para adicionar variáveis, você escreve a string inteira de uma vez e já diz qual valor que deve entrar naquele espaço

Para um uso simples e casual como no exemplo não há muita diferença e critério. Talvez nele só caberia o critério de "padronização" do código para ficar mais "bonito" ou melhor dizendo, "legível" para outros programadores. Em critério técnicos, talvez só teria ganho de performance, como processamento mais rápido e menor consumo de memória.

Relativo à aparência do código, podemos ver um pequeno comparativo:

print(f"string1 {variavel1} string2 {variavel2} string3 {variavel3}")
print("string1", variavel1, "string2", variavel2, "string3", variavel3)
print("string1 %s string2 %s string3 %s", % (variavel1, variavel2, variavel3))
print("string1 {} string2 {} string3 {}".format(variavel1, variavel2, variavel3))
print("string1 {variavel1} string2 {variavel2} string3 {variavel3}".format(variavel1 = valor1, variavel2 = valor2, variavel3 = valor3))

No primeiro exemplo temos 61 caracteres dentro do print()

No segundo exemplo temos 64 caracteres dentro do print()

No terceiro exemplo temos 70 caracteres dentro do print()

No quarto exemplo temos 74 caracteres dentro do print()

No quinto exemplo você tem uma amostra de como poderia ser chamado de tudo qualquer coisa menos de "gente" por outro programador.

Utilizando f-string, você teria uma única string direta sem quebras, mais curta, mais "bonita", fora que ganha a facilidade de formatações para outros tipos de saídas de string utilizando o print.