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. |