Python 3 - Strings

Strings estão entre os tipos mais populares em Python. Podemos criá-los simplesmente colocando os caracteres entre aspas. Python trata aspas simples da mesma forma que aspas duplas. Criar strings é tão simples quanto atribuir um valor a uma variável. Por exemplo -

var1 = 'Hello World!'
var2 = "Python Programming"

Acessando Valores em Strings

Python não suporta um tipo de caractere; estes são tratados como strings de comprimento um, portanto, também considerados substring.

Para acessar substrings, use os colchetes para fatiar junto com o índice ou índices para obter sua substring. Por exemplo -

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "Python Programming"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

Quando o código acima é executado, ele produz o seguinte resultado -

var1[0]:  H
var2[1:5]:  ytho

Atualizando Strings

Você pode "atualizar" uma string existente (re) atribuindo uma variável a outra string. O novo valor pode estar relacionado ao seu valor anterior ou a uma string completamente diferente. Por exemplo -

#!/usr/bin/python3

var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')

Quando o código acima é executado, ele produz o seguinte resultado -

Updated String :-  Hello Python

Personagens de Fuga

A tabela a seguir é uma lista de caracteres de escape ou não imprimíveis que podem ser representados com a notação de barra invertida.

Um caractere de escape é interpretado; em strings entre aspas simples e duplas.

Notação de barra invertida Caráter hexadecimal Descrição
\uma 0x07 Sino ou alerta
\ b 0x08 Backspace
\ cx Control-x
\ Cx Control-x
\ e 0x1b Escapar
\ f 0x0c Formfeed
\ M- \ Cx Meta-Control-x
\ n 0x0a Nova linha
\ nnn Notação octal, onde n está no intervalo de 0,7
\ r 0x0d Retorno de carruagem
\ s 0x20 Espaço
\ t 0x09 Aba
\ v 0x0b Guia vertical
\ x Personagem x
\ xnn Notação hexadecimal, em que n está no intervalo 0,9, af ou AF

Operadores especiais de string

Assumir variável de string a contém 'Olá' e variável b contém 'Python', então -

Operador Descrição Exemplo
+ Concatenação - adiciona valores em ambos os lados do operador a + b dará HelloPython
* Repetição - Cria novas strings, concatenando várias cópias da mesma string a * 2 dará -HelloHello
[] Slice - Dá o personagem do índice dado a [1] dará e
[:] Faixa de intervalo - fornece os personagens de um determinado intervalo a [1: 4] dará ell
dentro Membership - Retorna verdadeiro se um caractere existir na string fornecida H em a dará 1
não em Membership - Retorna verdadeiro se um caractere não existir na string fornecida M não em a dará 1
r / R String bruta - suprime o significado real dos caracteres Escape. A sintaxe para strings brutas é exatamente a mesma que para strings normais, com exceção do operador de string bruta, a letra "r", que precede as aspas. O "r" pode ser minúsculo (r) ou maiúsculo (R) e deve ser colocado imediatamente antes da primeira aspa. imprimir r '\ n' imprime \ n e imprimir R '\ n'impressões \ n
% Format - executa formatação de string Veja na próxima seção

Operador de formatação de string

Um dos recursos mais interessantes do Python é o operador de formato de string%. Este operador é exclusivo para strings e compensa o pacote de funções da família printf () de C. A seguir está um exemplo simples -

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Zara', 21))

Quando o código acima é executado, ele produz o seguinte resultado -

My name is Zara and weight is 21 kg!

Aqui está a lista do conjunto completo de símbolos que podem ser usados ​​junto com% -

Sr. Não. Símbolo de formato e conversão
1

%c

personagem

2

%s

conversão de string via str () antes da formatação

3

%i

inteiro decimal com sinal

4

%d

inteiro decimal com sinal

5

%u

inteiro decimal sem sinal

6

%o

inteiro octal

7

%x

inteiro hexadecimal (letras minúsculas)

8

%X

inteiro hexadecimal (letras MAIÚSCULAS)

9

%e

notação exponencial (com 'e' minúsculo)

10

%E

notação exponencial (com maiúscula 'E')

11

%f

número real de ponto flutuante

12

%g

o mais curto de% f e% e

13

%G

o mais curto de% f e% E

Outros símbolos e funcionalidades suportados estão listados na tabela a seguir -

Sr. Não. Símbolo e funcionalidade
1

*

argumento especifica largura ou precisão

2

-

justificação à esquerda

3

+

mostrar o sinal

4

<sp>

deixe um espaço em branco antes de um número positivo

5

#

adicione o zero inicial octal ('0') ou hexadecimal inicial '0x' ou '0X', dependendo se 'x' ou 'X' foram usados.

6

0

preencha da esquerda com zeros (em vez de espaços)

7

%

'%%' deixa você com um único literal '%'

8

(var)

variável de mapeamento (argumentos de dicionário)

9

m.n.

m é a largura total mínima e n é o número de dígitos a serem exibidos após o ponto decimal (se aplicável)

Citações Triplas

As aspas triplas do Python ajudam, permitindo que as strings ocupem várias linhas, incluindo NEWLINEs textuais, TABs e quaisquer outros caracteres especiais.

A sintaxe para aspas triplas consiste em três single or double citações.

#!/usr/bin/python3

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)

Quando o código acima é executado, ele produz o seguinte resultado. Observe como cada caractere especial foi convertido para sua forma impressa, até a última NEWLINE no final da string entre o "para cima". e fechar aspas triplas. Observe também que NEWLINEs ocorrem com um retorno de carro explícito no final de uma linha ou seu código de escape (\ n) -

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

As strings brutas não tratam a barra invertida como um caractere especial. Cada caractere que você coloca em uma string bruta permanece do jeito que você escreveu -

#!/usr/bin/python3

print ('C:\\nowhere')

Quando o código acima é executado, ele produz o seguinte resultado -

C:\nowhere

Agora vamos usar a string bruta. Nós colocaríamos expressão emr'expression' como segue -

#!/usr/bin/python3

print (r'C:\\nowhere')

Quando o código acima é executado, ele produz o seguinte resultado -

C:\\nowhere

String Unicode

No Python 3, todas as strings são representadas em Unicode. No Python 2 são armazenadas internamente como ASCII de 8 bits, portanto, é necessário anexar 'u' para torná-lo Unicode. Não é mais necessário agora.

Métodos de string integrados

Python inclui os seguintes métodos integrados para manipular strings -

Sr. Não. Métodos e Descrição
1 capitalizar()

Capitaliza a primeira letra da string

2 centro (largura, fillchar)

Retorna uma string preenchida com fillchar com a string original centralizada em um total de colunas de largura .

3 contagem (str, beg = 0, end = len (string))

Conta quantas vezes str ocorre em string ou em uma substring de string se o índice inicial começar e o final do índice final forem fornecidos.

4 decodificar (codificação = 'UTF-8', erros = 'estrito')

Decodifica a string usando o codec registrado para codificação. codificação padrão para a codificação de string padrão.

5 codificar (codificação = 'UTF-8', erros = 'estrito')

Retorna a versão da string codificada; em caso de erro, o padrão é gerar um ValueError, a menos que os erros sejam fornecidos com 'ignorar' ou 'substituir'.

6 endswith (sufixo, beg = 0, end = len (string))

Determina se string ou uma substring de string (se o índice inicial começar e o final do índice final forem fornecidos) termina com sufixo; retorna verdadeiro se sim e falso caso contrário.

7 expandtabs (tabsize = 8)

Expande as guias na string para vários espaços; o padrão é 8 espaços por guia se o tamanho da guia não for fornecido.

8 find (str, beg = 0 end = len (string))

Determine se str ocorre em string ou em uma substring de string se o índice inicial beg e o final do índice recebem o índice de retorno se encontrado e -1 caso contrário.

9 índice (str, beg = 0, end = len (string))

O mesmo que find (), mas gera uma exceção se str não for encontrado.

10 isalnum ()

Retorna verdadeiro se a string tiver pelo menos 1 caractere e todos os caracteres são alfanuméricos e falso caso contrário.

11 isalpha ()

Retorna verdadeiro se a string tem pelo menos 1 caractere e todos os caracteres são alfabéticos e falso caso contrário.

12 isdigit ()

Retorna verdadeiro se a string contém apenas dígitos e falso caso contrário.

13 é inferior()

Retorna verdadeiro se a string tiver pelo menos 1 caractere maiúsculo e todos os caracteres maiúsculos estão em minúsculas e falso caso contrário.

14 isnumeric ()

Retorna verdadeiro se uma string Unicode contém apenas caracteres numéricos e falso caso contrário.

15 isspace ()

Retorna verdadeiro se a string contém apenas caracteres de espaço em branco e falso caso contrário.

16 istitle ()

Retorna verdadeiro se a string está devidamente "titlecased" e falso caso contrário.

17 isupper ()

Retorna verdadeiro se a string tem pelo menos um caractere maiúsculo e todos os caracteres maiúsculos estão em maiúsculas e falso caso contrário.

18 juntar (seq)

Mescla (concatena) as representações de string de elementos em sequência seq em uma string, com string separadora.

19 len (string)

Retorna o comprimento da string

20 ljust (largura [, fillchar])

Retorna uma string preenchida com espaço com a string original justificada à esquerda para um total de colunas de largura.

21 mais baixo()

Converte todas as letras maiúsculas da string em minúsculas.

22 lstrip ()

Remove todos os espaços em branco iniciais na string.

23 Maketrans ()

Retorna uma tabela de tradução a ser usada na função de tradução.

24 max (str)

Retorna o caractere alfabético máximo da string str.

25 min (str)

Retorna o min caractere alfabético da string str.

26 substituir (antigo, novo [, máximo])

Substitui todas as ocorrências do antigo na string por novas ou no máximo ocorrências se máximo fornecido.

27 rfind (str, beg = 0, end = len (string))

O mesmo que find (), mas pesquisa para trás na string.

28 rindex (str, beg = 0, end = len (string))

O mesmo que index (), mas pesquisa para trás na string.

29 rjust (largura, [, fillchar])

Retorna uma string preenchida com espaço com a string original justificada à direita para um total de colunas de largura.

30 rstrip ()

Remove todos os espaços em branco à direita da string.

31 dividir (str = "", num = string.count (str))

Divide a string de acordo com o delimitador str (espaço se não for fornecido) e retorna a lista de substrings; dividido em no máximo num substrings, se fornecido.

32 linhas de divisão (num = string.count ('\ n'))

Divide string em todas (ou num) NEWLINEs e retorna uma lista de cada linha com NEWLINEs removidas.

33 startwith (str, beg = 0, end = len (string))

Determina se string ou uma substring de string (se o índice inicial começar e o final do índice forem fornecidos) começa com a substring str; retorna verdadeiro se sim e falso caso contrário.

34 tira ([chars])

Executa lstrip () e rstrip () na string

35 swapcase ()

Inverte maiúsculas e minúsculas para todas as letras da string.

36 título()

Retorna a versão "titlecased" da string, ou seja, todas as palavras começam em maiúsculas e o resto em minúsculas.

37 traduzir (tabela, deletechars = "")

Traduz a string de acordo com a tabela de tradução str (256 caracteres), removendo aqueles na string del.

38 superior()

Converte letras minúsculas em uma string em maiúsculas.

39 zfill (largura)

Retorna a string original com zeros à esquerda para um total de caracteres de largura; destinado a números, zfill () retém qualquer sinal dado (menos um zero).

40 isdecimal ()

Retorna verdadeiro se uma string Unicode contém apenas caracteres decimais e falso caso contrário.