Python String Interpolation

Neste artigo, aprenderemos sobre a interpolação de strings python. Python suporta várias maneiras de formatar strings de texto e isso inclui% -formatting, sys.format (), string.Template e f-strings.

A interpolação de string é um processo que substitui valores de variáveis ​​em marcadores de posição em uma string. Por exemplo, se você tiver um modelo para dizer olá para uma pessoa como "Olá (nome da pessoa), prazer em conhecê-lo!", Você gostaria de substituir o espaço reservado para o nome da pessoa por um nome real. Este processo é denominado interpolação de strings.

cordas f

O Python 3.6 adicionou um novo método de interpolação de string chamado interpolação de string literal e introduziu um novo prefixo literal f. Esta nova forma de formatar strings é poderosa e fácil de usar. Ele fornece acesso a expressões Python embutidas dentro de constantes de string.

Exemplo 1:

 name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')

Quando executarmos o programa acima, a saída será

Olá Mundo! Este é Python

No exemplo acima, o prefixo literal fdiz ao Python para restaurar o valor do nome de duas variáveis ​​de string e do programa entre colchetes (). Então, quando tivermos printa saída acima.

Essa nova interpolação de string é poderosa, pois podemos incorporar expressões Python arbitrárias que podemos até fazer aritmética embutida com ela.

Exemplo 2:

 a = 12 b = 3 print(f'12 multiply 3 is (a * b).')

Quando executarmos o programa acima, a saída será

 12 multiplique 3 é 36.

No programa acima, fizemos aritmética embutida, que só é possível com este método.

% -formatting

Strings em Python têm uma operação integrada exclusiva que pode ser acessada com o %operador. Usando %podemos fazer interpolação de strings simples com muita facilidade.

Exemplo 3:

 print("%s %s" %('Hello','World',))

Quando executarmos o programa acima, a saída será

 Olá Mundo

No exemplo acima, usamos dois %sespecificadores de formato de string e duas strings Helloe Worldentre parênteses (). Temos Hello Worldcomo saída. %so especificador de formato de string informa ao Python onde substituir o valor.

A sintaxe de formatação de string muda ligeiramente, se quisermos fazer várias substituições em uma única string, e como o %operador só aceita um argumento, precisamos envolver o lado direito em uma tupla, conforme mostrado no exemplo abaixo.

Exemplo 4:

 name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))

Quando executarmos o programa acima, a saída será

Olá Mundo! Isso é python.

No exemplo acima, usamos duas variáveis ​​de string nome e programa. Envolvemos ambas as variáveis ​​entre parênteses ().

Também é possível referir-se a substituições de variáveis ​​por nome em nossa string de formato, se passarmos um mapeamento para o %operador:

Exemplo 5:

 name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))

Quando executarmos o programa acima, a saída será

Olá Mundo! Isso é python.

Isso torna nossas strings de formato mais fáceis de manter e modificar no futuro. Não precisamos nos preocupar com a ordem dos valores que estamos passando com a ordem dos valores que são referenciados na string de formato.

Str.format ()

Nessa formatação de string, usamos format()função em um objeto de string e colchetes (), o objeto de string em format()função é substituído no lugar de colchetes (). Podemos usar a format()função para fazer uma formatação posicional simples, assim como a %formatação.

Exemplo 6:

 name = 'world' print('Hello, ()'.format(name))

Quando executarmos o programa acima, a saída será

 Olá Mundo

Neste exemplo, usamos chaves ()e format()função para passar o nome do objeto. Pegamos o valor de nome no lugar das chaves ()na saída.

Podemos nos referir às nossas substituições de variáveis ​​por nome e usá-las na ordem que quisermos. Este é um recurso bastante poderoso, pois permite reorganizar a ordem de exibição sem alterar os argumentos passados ​​para a função de formatação.

Exemplo 7:

 name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))

Quando executarmos o programa acima, a saída será

 Olá, mundo! Este é o python.

In this example we specified the variable substitutions place using the name of variable and pass the variable in format().

Template Strings

Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template class from Python’s built-in string module to use it.

Example 8:

 from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))

When we run the above program, the output will be

 Hello world! This is python.

In this example we import Template class from built-in string module and made a template which we used to pass two variable.

Key Points to Remember:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. No método de template, fazemos um template importando a classe de template do módulo string embutido.
  4. O método Literal String Interpolation é um método de interpolação poderoso que é fácil de usar e aumenta a legibilidade do código.

Artigos interessantes...