Alinhamento de Textos com Python
A grande vantagem do Python em comparação com muitas outras linguagens de programação é a sua versatilidade. Podemos usá-lo para praticamente tudo. Ele é ótimo para computação científica, cálculos e algoritmos, mas também reina na criação e formatação de textos. Neste post, abordaremos alguns de seus métodos para justificar textos, o que é excelente para automações na preparação de relatórios, teses e artigos.
Alinhamento com f-string
O uso de f-strings pode ser combinado facilmente com alinhamento de textos à esquerda, direita ou de forma centralizada. Isso é feito com os caracteres < (esquerda), > (direita) e ^ (centro), como ilustrado nos exemplos abaixo.
text = "Oi"
print(f"{text:<10}") # Resultado: "Oi "
text = "Oi"
print(f"{text:>10}") # Resultado: " Oi"
# centro
text = "Oi"
print(f"{text:^10}") # Resultado: " Oi "
Como mostrado nos exemplos, a sintaxe para alinhamento é:
f"{string:{fill_char}{alinhamento}{largura}}"
onde alinhamento se refere ao tipo de alinhamento desejado (esquerda, direita, centro) e largura é um número inteiro que indica a quantidade de caracteres que a string deve ter no total. O parâmetro fill_char é opcional. Ele permite definir quais caracteres serão usados para preencher a string com a largura desejada. Quando deixado em branco, ele preenche a string com espaços. Veja como usá-lo com um caractere personalizado:
text = "Oi"
print(f"{text:#>10}") # Resultado: ########Oi
Métodos ljust, rjust e center
Além do uso de formatação com f-strings, o alinhamento de strings pode ser realizado com os métodos internos ljust, rjust e center. Os três métodos têm sintaxe equivalente, por isso serão apresentados em conjunto. Todos possuem dois argumentos: largura (define o comprimento total da string justificada) e fill_char (opcional, define um caractere para preencher a string, o padrão é um espaço):
string.ljust(largura, fill_char) - retorna a string justificada à esquerda.
string.rjust(largura, fill_char) - justifica a string à direita.
string.center(largura, fill_char) - retorna a string alinhada de forma centralizada.
Abaixo, veja alguns exemplos ilustrativos:
minha_string = "O curso foi iniciado em Dezembro e durou cinco meses."
print(minha_string.ljust(100, "-")) # adiciona "-" à esquerda
# -----------------------------------------------O curso foi iniciado em Dezembro e durou cinco meses.
minha_string = "O curso foi iniciado em Dezembro e durou cinco meses."
print(minha_string.rjust(100, "-")) # adiciona "-" à direita
#O curso foi iniciado em Dezembro e durou cinco meses.-----------------------------------------------
minha_string = "O curso foi iniciado em Dezembro e durou cinco meses."
print(minha_string.center(100, "-")) # adiciona "-" à esquerda e à direita
#-----------------------O curso foi iniciado em Dezembro e durou cinco meses.------------------------
Alinhamento de documentos multilinhas
Obviamente, podemos usar os métodos mostrados acima para alinhar documentos multilinhas. Isso é feito em combinação com outras operações com strings. Entenda como realizar essa tarefa com um exemplo ilustrativo.
# Alinhamento de um texto com múltiplas linhas
texto_multi_linha = """Este
é um texto
de várias linhas."""
# Divide o texto em linhas individuais
linhas = texto_multi_linha.split('\n')
# Alinha cada linha e salva uma lista com os resultados
linhas_alinhadas = []
for linha in linhas:
linhas_alinhadas.append(linha.ljust(20, '-')) # Use o rjust() ou center() conforme o caso
# Junta o texto em uma string
texto_alinhado = '\n'.join(linhas_alinhadas)
print(texto_alinhado)
# Resultado
# Este ---------------
# é um texto----------
# de várias linhas.--
Veja também:
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.