English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo do Python

Função do Python

Tipos de dados do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimentos Avançados do Python

Manual de Referência do Python

String (String) do Python

Neste tutorial, você aprenderá a criar, formatar, modificar e excluir strings em Python. Além disso, também lhe será apresentado várias operações e funções de strings.

O que são strings no Python?

uma string é uma sequência de caracteres.

um caractere é apenas um símbolo. Por exemplo, o inglês tem26caracteres.

Os computadores não lidam com caracteres, eles lidam com números (binários). Mesmo que você possa ver caracteres na tela, internamente eles são armazenados e manipulados como 0 e1da combinação.

essa conversão de caracteres para números é chamada de codificação, e o processo inverso é a decodificação. ASCII e Unicode são alguns dos codecs mais comuns.

Em Python, strings são sequências de caracteres Unicode. A introdução do Unicode inclui todos os caracteres de todos os idiomas e proporciona uma codificação unificada. Você pode encontrar mais informações aquiConheça mais sobre Unicode.

Como criar strings no Python?

Você pode criar strings colocando caracteres entre aspas simples ou duplas. Mesmo que o Python permita o uso de aspas triplas, elas são geralmente usadas para representar strings de várias linhas e strings de documentação.

# Abaixo estão equivalentes
my_string = 'Olá'
print(my_string)
my_string = "Olá"
print(my_string)
my_string = '''Olá'''
print(my_string)
# As strings de três aspas podem estender várias linhas
my_string = "Olá, bem-vindo ao
           o mundo do Python"
print(my_string)

Quando você executar o programa, a saída será:

Olá
Olá
Olá
Olá, bem-vindo ao
           o mundo do Python

Como acessar caracteres em uma string?

Podemos usar índices para acessar caracteres individuais e fatias para acessar uma sequência de caracteres. Os índices começam no 0. Tentar acessar caracteres fora do escopo do índice causará um erro IndexError. Os índices devem ser inteiros. Não podemos usar float ou outros tipos, o que causará um TypeError.

Python permite índices negativos em suas sequências.

Índice-1Representa o último item-2Representa o penúltimo item, por exemplo. Podemos usar o operador de fatia (ponto e vírgula) para acessar uma série de itens na string.

str = 'w'3codebox.com
print('str = ', str)
# O primeiro caractere
print('str[0] = ', str[0])
# O último caractere
print('str[-1] = '', str[-1]
# Fatia do segundo ao quinto caractere
print('str[1:5] = '', str[1:5]
# Fatia a partir do6até o penúltimo2caracter
print('str[5:-2] = '', str[5:-2]

Resultados de saída:

str = 'w'3codebox.com
str[0] = 'n'
str[-1] = 'm'
str[1:5] = 'hooo'
str[5:-2] = ''

Se tentar acessar um índice fora do intervalo ou usar números decimais, ocorrerá um erro.

# Índice deve estar no intervalo
>>> my_string[15]  
...
IndexError: índice de string fora do intervalo
# Índices devem ser inteiros
>>> my_string[1.5] 
...
TypeError: índices de string devem ser inteiros

Considerando que os índices estão entre os elementos, é o melhor para visualizar fatias, conforme mostrado a seguir.

Para acessar um intervalo, é necessário usar índices, que cortarão uma parte da string.

Como alterar ou excluir uma string?

As strings são imutáveis. Isso significa que uma vez que os elementos da string sejam alocados, não podem ser alterados. Podemos simplesmente alocar diferentes strings para o mesmo nome.

>>> my_string = 'w'3codebox.com
>>> my_string[5] = 'a'
...
TypeError: objeto 'str' não suporta atribuição de itens
>>> my_string = 'Python'
>>> my_string
'Python'

Não podemos excluir ou excluir caracteres de uma string. Mas podemos usar a palavra-chave del para excluir completamente a string.

>>> del my_string[1]
...
TypeError: objeto 'str' não suporta exclusão de itens
>>> del my_string
>>> my_string
...
NameError: nome 'my_string' não está definido

Operações de strings em Python

As strings podem executar muitas operações, tornando-asEm PythonO mais comumUm dos tipos de dados.

Junção de dois ou mais strings

Conectar duas ou mais strings em uma única string é chamado de concatenação.

+ Operadores executam operações de concatenação no Python. Basta escrever dois textos de string juntos, também podem ser concatenados.

* Operadores podem ser usados para repetir strings uma quantidade específica de vezes.

str1 = 'Hello'
str2 ='World!'
#using +
print('str1 + str2 =, str1 + str2)
#using *
print('str1 * 3 =, str1 * 3)

Escrever dois textos de string juntos também se parecerá+Operadores são usados para concatená-los juntos.

Se quiser conectar strings em linhas diferentes, você pode usar parênteses.

>>> # Dois textos de string juntos
>>> 'Hello ''World!'
'Hello World!'
>>> # Usando parênteses
>>> s = ('Hello '
...          'World')
>>> s
'Hello World'

percorrer a string

usandoloop forPodemos percorrer a string. Este é um exemplo de calcular o número de 'l' na string.

count = 0
for letter in 'Hello World':
    if(letter == 'l'):
        count += 1
print(count, 'letters found')

Teste de membresia de string

Podemos usar a palavra-chave in para testar se uma substring existe na string.

>>> 'a' in 'program'
True
>>> 'at' not in 'battle'
False

Usando funções integradas do Python

Você pode usar várias funções integradas de sequence e string.

Alguns dos mais comuns são enumerate() e len(). A função enumerate() serve para: retornar um objeto de enumeração. Ele contém em pares os índices e valores de todos os itens da string. Isso é útil para iterações.

Da mesma forma, len() retorna o comprimento da string (número de caracteres).

str = 'cold'
#enumerate()
list_enumerate = list(enumerate(str))
print('list(enumerate(str) = ', list_enumerate)
#Número de caracteres
print('len(str) = ', len(str))

Formatação de strings Python

Sequência de escape

Se quisermos imprimir um texto-Ele disse: "O que há aí?"-Não podemos usar aspas simples ou duplas. Isso causará SyntaxError o texto em si contém aspas simples e duplas.

>>> print("Ele disse, \
...
SyntaxError: sintaxe inválida
>>> print('Ele disse, \
...
SyntaxError: sintaxe inválida

Uma maneira de resolver isso é usar três aspas. Além disso, podemos usar sequências de escape.

As sequências de escape começam com uma barra invertida e são interpretadas de maneira diferente. Se usarmos aspas simples para strings, devemos escapar todas as aspas simples dentro da string. O mesmo se aplica às aspas duplas. Este é o método de representar o texto acima.

# Uso de três aspas simples
print('''Ele disse, \
# Sequência de escape de aspas simples
print('Ele disse, \
# Sequência de escape de aspas duplas
print("Ele disse, \"O que há lá?\")

Esta é uma lista de todas as sequências de escape suportadas pelo Python.

Sequências de escape no Python
Sequência de escapeDescrição
\newlineA barra invertida e a quebra de linha são ignoradas
\\Barra invertida
\'Aspas simples
\"Aspas duplas
\aCírculo de alarme ASCII
\bTecla de backspace ASCII
\fPágina de quebra ASCII
\nQuebra de linha ASCII
\rCarro de retorno ASCII
\tTabulação horizontal ASCII
\vTabulação vertical ASCII
\ooode caracteres com valor octal
\xHHde caracteres com valor hexadecimal HH

Aqui estão alguns exemplos

>>> print("C:\\Python32\\Lib)
C:\Python32\Lib
>>> print("Este é impresso\nin duas linhas")
Este é impresso
em duas linhas
>>> print("Este é um \x48\x45\x58 representação)
Este é a representação HEX

String original ignora sequências de escape

À vezes podemos querer ignorar sequências de escape em strings. Para isso, podemos colocá-las à frente de uma string r ou R. Isso significa que é uma string original e qualquer sequência de escape será ignorada.

>>> print("Este é um \x61 um bom exemplo))
Este é um
bom exemplo
>>> print(r"Este é um \x61 um bom exemplo))
Este é um \x61 um bom exemplo

Formate strings usando o método format()

O método format() usado com objetos string é muito genérico e muito poderoso em termos de formatação de strings. A string de formatação contém chaves {} como placeholders ou campos substituídos.

Podemos usar parâmetros posicionais ou de palavras-chave para especificar a ordem.

# Ordem padrão (implícita)
default_order = "{}, {} e {}".format('John','Bill','Sean')
print('\n--- Ordem Padrão ---)
print(default_order)
# Ordem por parâmetros posicionais
positional_order = "{1, {0} e {2}".format('John','Bill','Sean')
print('\n--- Ordem Posicional ---)
print(positional_order)
# Ordem por parâmetros de palavras-chave
keyword_order = "{s}, {b} e {j}".format(j='John',b='Bill',s='Sean')
print('\n--- Ordem de Palavras-chave ---)
print(keyword_order)

O método format() pode ter especificações de formatação opcionais. Eles usam dois pontos para separar o nome do campo. Por exemplo, podemos alinhar à esquerda <, à direita > ou ^ para centralizar strings. Também podemos formatar inteiros em binário, hexadecimal, etc., e números de ponto flutuante podem ser arredondados ou exibidos em formato exponencial. Você pode usar muitos formatos. Acesse aqui paraobter o format()disponíveismétodosTodasFormatação de strings.

>>> # Formatação de inteiros
>>> "Representação binária de {0} é {0:b}".format(12)
'Representação binária de 12 é 1100'
>>> # Formatação de números de ponto flutuante
>>> "Representação de expoente: {0:e}".format(1566.345)
'Representação de expoente: 1.566345e+03"
>>> # Arredondamento
>>> "Um terço é: {0:.3f}".format(1/3)
'Um terço é: 0.333"
>>> # Alinhamento de strings
>>> "|{:<10|{:^10|{:}>10|".format('butter','bread','ham')
'|butter        |         bread        |             ham|'

Formatação de estilo antigo

Nós até podemos formatar strings da mesma forma que o sprintf() no linguagem de programação C antigo. Usamos o operador % para concluir essa tarefa.

>>> x = 12.3456789
>>> print('O valor de x é %',3.2f' %x)
O valor de x é 12.35
>>> print('O valor de x é %',3.4f' %x)
O valor de x é 12.3457

Métodos de string comuns no Python

Os objetos de string têm muitos métodos disponíveis. O método format() mencionado acima é um deles. Métodos comuns incluem lower(), upper(), join(), split(), find(), replace() etc. Aqui está a lista completaMétodos integrados para manipulação de strings no Python.

>>> 'w3codebox".lower()
'w3codebox'
>>> 'w3codebox".upper()
'w3codebox'
>>> 'Esta string splitará todas as palavras em uma lista'.split()
['Esta', 'will', 'split', 'all', 'words', 'into', 'a', 'lista']
>>> ' '.join(['Esta', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
'Esta string juntará todas as palavras em uma string'
>>> 'Ano Novo Brillante'.find('ew')
7
>>> 'Ano Novo Brillante'.replace('Ano Novo','Brillante')
'Ano Novo Brillante'