Resumo: neste tutorial, você aprenderá sobre strings Python e suas operações básicas.
Introdução à string do Python
Uma string é uma série de caracteres. Em Python, qualquer coisa entre aspas é uma string. E você pode usar aspas simples ou duplas. Por exemplo:
message = 'This is a string in Python'
message = "This is also a string"
Linguagem de código: Python ( python )
Se uma string contém aspas simples, você deve colocá-la entre aspas duplas como esta:
message = "It's a string"
Linguagem de código: Python ( python )
E quando uma string contém aspas duplas, você pode usar aspas simples:
message = '"Beautiful is better than ugly.". Said Tim Peters'
Linguagem de código: Python ( python )
Para escapar das aspas, você usa a barra invertida (\
). Por exemplo:
message = 'It\'s also a valid string'
Linguagem de código: Python ( python )
O interpretador Python tratará o caractere de barra invertida (\) de forma especial. Se não quiser, você pode usar strings brutas adicionando a letra r
antes da primeira aspa. Por exemplo:
message = r'C:\python\bin'
Linguagem de código: Python ( python )
Criando strings multilinhas
Para abranger várias linhas de uma string, você usa aspas triplas “””…””” ou ”’…”’. Por exemplo:
help_message = '''
Usage: mysql command
-h hostname
-d database name
-u username
-p password
'''
print(help_message)
Linguagem de código: Python ( python )
A saída será o seguinte se você executar o programa:
Usage: mysql command
-h hostname
-d database name
-u username
-p password
Linguagem de código: Python ( python )
Usando variáveis em strings Python com strings f
Às vezes, você deseja usar os valores das variáveis em uma string.
Por exemplo, você pode querer usar o valor da variável name
dentro da variável string message
:
name = 'John'
message = 'Hi'
Linguagem de código: Python ( python )
Para fazer isso, coloque a letra f
antes das aspas de abertura e coloque o colchete ao redor do nome da variável:
name = 'John'
message = f'Hi {name}'
print(message)
Linguagem de código: Python ( python )
Python substituirá {name}
pelo valor da variável name
. O código mostrará o seguinte na tela:
Hi John
Linguagem de código: Python ( python )
message
é uma string de formato, ou string f, em resumo. Python introduziu a string f na versão 3.6.
Concatenando strings Python
Quando você coloca as strings literais próximas umas das outras, o Python as concatena automaticamente em uma string. Por exemplo:
greeting = 'Good ' 'Morning!'
print(greeting)
Linguagem de código: Python ( python )
Saída:
Good Morning!
Linguagem de código: Python ( python )
Para concatenar duas variáveis de string, você usa o operador +
:
greeting = 'Good '
time = 'Afternoon'
greeting = greeting + time + '!'
print(greeting)
Linguagem de código: Python ( python )
Saída:
Good Afternoon!
Linguagem de código: Python ( python )
Acessando elementos de string
Como uma string é uma sequência de caracteres, você pode acessar seus elementos usando um índice. O primeiro caractere da string possui um índice zero.
O exemplo a seguir mostra como acessar elementos usando um índice:
str = "Python String"
print(str[0]) # P
print(str[1]) # y
Linguagem de código: Python ( python )
Como funciona:
- Primeiro, crie uma variável que contenha uma string
"Python String"
. - Em seguida, acesse o primeiro e o segundo caracteres da string usando colchetes
[]
e índices.
Se você usar um índice negativo, o Python retornará o caractere começando no final da string. Por exemplo:
str = "Python String"
print(str[-1]) # g
print(str[-2]) # n
Linguagem de código: Python ( python )
O seguinte ilustra os índices da string "Python String"
:
+---+---+---+---+---+---+---+---+---+---+---+---+---+
| P | y | t | h | o | n | | S | t | r | i | n | g |
+---+---+---+---+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 8 9 10 11 12
-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Linguagem de código: Python ( python )
Obtendo o comprimento de uma string
Para obter o comprimento de uma string, você usa a função len()
. Por exemplo:
str = "Python String"
str_len = len(str)
print(str_len)
Linguagem de código: Python ( python )
Saída:
13
Linguagem de código: Python ( python )
Fatiando strings
O fatiamento permite obter uma substring de uma string. Por exemplo:
str = "Python String"
print(str[0:2])
Linguagem de código: Python ( python )
Saída:
Py
Linguagem de código: Python ( python )
O str[0:2]
retorna uma substring que inclui o caractere do índice 0 (incluído) a 2 (excluído).
A sintaxe para fatiar é a seguinte:
string[start:end]
Linguagem de código: Python ( python )
A substring sempre inclui o caractere em start
e exclui a string em end
.
start
e end
são opcionais. Se você omitir o start
, o padrão será zero. Se você omitir o end
, o padrão será o comprimento da string.
Strings Python são imutáveis
Strings Python são imutáveis. Isso significa que você não pode alterar a string. Por exemplo, você receberá um erro se atualizar um ou mais caracteres em uma string:
str = "Python String"
str[0] = 'J'
Linguagem de código: Python ( python )
Erro:
Traceback (most recent call last):
File "app.py", line 2, in <module>
str[0] = 'J'
TypeError: 'str' object does not support item assignment</module>
Linguagem de código: Python ( python )
Quando quiser modificar uma string, você precisa criar uma nova a partir da string existente. Por exemplo:
str = "Python String"
new_str = 'J' + str[1:]
print(new_str)
Linguagem de código: Python ( python )
Saída:
Jython String
Linguagem de código: Python ( python )
Resumo
- Em Python, uma string é uma série de caracteres. Além disso, as strings Python são imutáveis.
- Use aspas simples ou duplas para criar literais de string.
- Use o caractere de barra invertida
\
para escapar de aspas em strings - Use strings brutas
r'...'
para escapar do caractere de barra invertida. - Use strings f para inserir variáveis substitutas em strings literais.
- Coloque strings literais próximas umas das outras para concatená-las. E use o operador + para concatenar variáveis de string.
- Use a função
len()
para obter o tamanho de uma string. - Use
str[n]
para acessar o caractere na posição n da stringstr
. - Use o fatiamento para extrair uma substring de uma string.