programação

Formatação de Texto em Python

Em Python 3, o processo de formatação de texto pode ser realizado de várias maneiras, utilizando recursos integrados à linguagem. Entre os métodos mais comuns estão a formatação de strings, a utilização de f-strings, o método .format() e a concatenação de strings.

Uma das maneiras mais básicas de formatar uma string em Python é a concatenação de strings, onde duas ou mais strings são unidas usando o operador +. Por exemplo:

python
nome = "João" idade = 30 mensagem = "Olá, eu sou " + nome + " e tenho " + str(idade) + " anos." print(mensagem)

No entanto, essa abordagem pode se tornar complexa e difícil de manter à medida que o número de variáveis aumenta.

Uma abordagem mais elegante é utilizar o método .format(), que permite inserir variáveis em uma string de forma mais legível e flexível:

python
nome = "João" idade = 30 mensagem = "Olá, eu sou {} e tenho {} anos.".format(nome, idade) print(mensagem)

Neste exemplo, as chaves {} dentro da string são substituídas pelos valores das variáveis passadas para o método .format() na mesma ordem em que aparecem.

Com a introdução das f-strings no Python 3.6, uma nova e mais concisa forma de formatação de strings foi introduzida, permitindo a inserção direta de variáveis e expressões dentro de strings prefixadas com f ou F:

python
nome = "João" idade = 30 mensagem = f"Olá, eu sou {nome} e tenho {idade} anos." print(mensagem)

As f-strings fornecem uma sintaxe mais simples e legível para formatar strings, especialmente quando se trata de inserir variáveis.

Além disso, é possível formatar strings com mais detalhes, especificando o tipo de formatação desejado. Por exemplo:

python
preco = 20.50 mensagem = "O preço é R${:.2f}".format(preco) print(mensagem)

Neste caso, :.2f indica que o valor de preco deve ser formatado como um número de ponto flutuante (f), com duas casas decimais (.2) e usando a notação de ponto flutuante fixa.

Outra maneira de formatar strings é usando a função str.format_map(), que aceita um dicionário como argumento e substitui as chaves da string pelos valores correspondentes no dicionário:

python
dados = {"nome": "João", "idade": 30} mensagem = "Olá, eu sou {nome} e tenho {idade} anos.".format_map(dados) print(mensagem)

Esta abordagem é útil quando se trabalha com um grande número de variáveis e é desejável organizar os valores em um dicionário.

Em resumo, Python oferece várias maneiras de formatar strings de maneira eficaz e legível, incluindo a concatenação de strings, o método .format(), as f-strings e a função str.format_map(). A escolha do método mais adequado depende das necessidades específicas do projeto e das preferências do desenvolvedor.

“Mais Informações”

Além das técnicas básicas de formatação de strings em Python 3 mencionadas anteriormente, existem algumas outras técnicas e conceitos que podem ser úteis para formatar textos de maneira mais sofisticada e eficiente.

  1. Usando placeholders: Em algumas situações, pode ser útil usar placeholders em uma string para posteriormente substituí-los pelos valores desejados. Por exemplo:
python
mensagem = "Olá, eu sou {} e tenho {} anos." nome = "João" idade = 30 print(mensagem.format(nome, idade))

Neste caso, {} são usados como placeholders que serão substituídos pelos valores de nome e idade quando o método .format() for chamado.

  1. Alinhamento e preenchimento: O método .format() permite especificar o alinhamento e o preenchimento dos valores substituídos na string. Por exemplo:
python
nome = "João" idade = 30 mensagem = "Nome: {:<10} Idade: {:>5}".format(nome, idade) print(mensagem)

Neste exemplo, :<10 indica que o valor de nome deve ser alinhado à esquerda em um campo de 10 caracteres, enquanto :>5 indica que o valor de idade deve ser alinhado à direita em um campo de 5 caracteres.

  1. Formatação numérica: Além de especificar o número de casas decimais para números de ponto flutuante, o método .format() também permite especificar o formato de números inteiros, números com separadores de milhares, etc. Por exemplo:
python
numero = 1234567890 print("Número: {:,}".format(numero)) # Saída: Número: 1,234,567,890
  1. Usando marcadores nomeados: Em vez de usar marcadores de posição anônimos ({}), é possível usar marcadores nomeados para tornar o código mais legível e autoexplicativo. Por exemplo:
python
mensagem = "Olá, eu sou {nome} e tenho {idade} anos." print(mensagem.format(nome="João", idade=30))

Essa abordagem torna mais claro qual valor está sendo substituído em cada posição da string formatada.

  1. Usando literais de formatação: A partir do Python 3.6, é possível usar literais de formatação (f-strings) para incorporar expressões dentro de strings de forma mais concisa e legível. Por exemplo:
python
nome = "João" idade = 30 mensagem = f"Olá, eu sou {nome.upper()} e tenho {idade * 2} anos." print(mensagem)
  1. Formatando datas e horas: Python fornece módulos como datetime e time para trabalhar com datas e horas. Você pode formatar datas e horas de várias maneiras usando esses módulos e especificando os formatos desejados. Por exemplo:
python
from datetime import datetime data_atual = datetime.now() print("Data atual: {}".format(data_atual.strftime("%d/%m/%Y %H:%M:%S")))

Neste exemplo, strftime() é usado para formatar a data atual de acordo com o formato especificado ("%d/%m/%Y %H:%M:%S").

Essas são apenas algumas das técnicas disponíveis para formatação de strings em Python 3. A escolha da abordagem mais adequada depende dos requisitos específicos do seu projeto, bem como das preferências pessoais do desenvolvedor.

Botão Voltar ao Topo