Strings são sequências de caracteres, geralmente utilizadas para representar informações como:
Strings em Python são imutáveis (depois de criados não há como alterá-los), podendo ser escritos de várias formas, a exemplo de:
'Rua Sobe e Desce, nº 453'
"Marca D'água"
'''Rua Sobe e Desce, nº 453'''
"""Rua Sobe e Desce, nº 453"""
# Imprimir (apresentar) uma string
print('Olá João')
# Atribuir a uma variável e, em seguida, imprimir o valor atribuído à variável
nome = 'João Carlos de Oliveira'
print(nome)
# Obter o tamanho (nº de caracteres) de uma string utilizando função "len",
# que é uma abreviatura de "length" => "comprimento"
# Note que o espaço em branco também conta com um caracter
tamanho = len('Hoje é o dia')
print(tamanho)
# Imprimir uma sequência de strings
print('Frase 1')
print('Frase 2')
print('Frase com \n quebra de linha')
print('Última linha')
# A contra barra "\" é utilizada para modificar o significado (semântica) da letra que a sucede.
# No exemplo acima, a sequência '\n' representa um caracter especial chamado de "new line" => "nova linha"
Uma das operações mais tipicamente realizadas com strings é a concatenação ou justaposição de dois strings para gerar um terceiro, a exemplo da expressão:
"João Luiz" + "Saldanha"
que resulta na string:
"João LuizSaldanha"
# Concatenar (justapor) strings para formar uma nova string.
# Quando aplicado sobre números o operador "+" representa a operação aritmética de adição.
# Mas quando aplicado sobre strings sua semântica muda, passando a representar a operação de concatenação.
nome = "João"
mes = 'abril'
frase = "O mês de nascimento de " + nome + " é " + mes + " deste ano"
# resulta na atribuição da string "O mês de nascimento de João é abril deste ano" à variável frase
# Note que se tentarmos escrever algo como
dia = 23
frase = "João nasceu no dia " + dia + " deste mês"
# ocorrerá um erro uma vez que o valor previamente atribuído à variável dia é um número inteiro, e não uma string, ocasionando falha na concatenção.
# Para resolver isso podemos converter o número para string utilizando a função "str", conforme abaixo:
frase = "João nasceu no dia " + str(dia) + " deste mês"
# Concatenar à esquerda
s = "ABC"
s = s + "123"
#resulta no string "ABC123" ser atribuído à variável s
# Note que a expressão de concatenação acima pode ser também escrita como:
s += "123"
# Concatenar à direita
s = "ABC"
s = "123" + s
#resulta no string "123ABC" ser atribuído à variável s
# Repetir uma letra utilizando o operador "*"
letra = 'Zeta'
s = letra * 5
#resulta no string "ZetaZetaZetaZetaZeta" ser atribuído à variável s
# O operador "*" sobre números inteiro corresponde ao operador aritmético de multiplicação.
# Mas quando aplicado sobre uma string, causa a concatenação repetida da string.
A operação de concatenação nem sempre é a mais indicada ou preferível de formatar strings. Há mais de uma forma de formatar strings em Python, sendo apresentada abaixo a mais usual, um recurso chamado de f-strings (note que a string é prescedida por f e as variáveis são escritas entre chaves na string).
# Formatando strings com f-strings
dia = 12
mes = "junho"
ano = 2022
hoje = f"Hoje é dia {dia} de {mes} de {ano}"
# Ao preceder a string com a letra "f", significa que a string será formatada,
# resultando na substituição do termos entre chaves pelos correspondentes valores.
# Assim, no exemplo acima a string "Hoje é dia 12 de junho de 2022" será atribuída à variavel hoje.
# Dentro de {} também é possível definir o tamanho (número de caracteres) total do campo
saltador = 'Luiz'
salto = 7.8
print(f"O saltador {saltador:10} saltou {salto:7}")
# resulta na impressão da string "O saltador Luiz saltou 7.8"
# Note que foram incluídos vários espaços em branco após o nome "Luiz" até chegar a 10 caracteres.
# No caso do número 7.8, os espaços em brancos foram prefixados ao valor até chegar a 7.
# É possível também definir outros detalhes, a exemplo do número de casas decimais para o caso de valores reais
saltador = 'Luiz'
salto = 7.8
print(f"O saltador {saltador:10} saltou {salto:7.2f}")
# resulta na impresão da string "O saltador Luiz saltou 7.80"
# na qual o valor 7.8 foi formatado para ser apresentado com 2 casas decimais
# Exemplo de formatação para o valor de PI.
import math
pi = math.pi
print(f"O valor de PI é {pi}")
# resulta na impressão da string "O valor de PI é 3.141592653589793"
print(f"O valor de PI é {pi:.2f}")
# resulta na impressão da string "O valor de PI é 3.14"
print(f"O valor de PI é {pi:.4f}")
# resulta na impressão da string "O valor de PI é 3.1416"
# Note que os valores são arredondados na correspondente casa decimal.
Saber mais sobre formatação de strings