Este conteúdo faz parte do livro “Introdução à Programação para Bioinformática com Biopython“. Você pode adquirir a versão impressa desse livro aqui ou a versão para Kindle aqui. Para nos citar, consulte este link.
Strings são muito importantes em programas para Bioinformática, sobretudo para o tratamento de sequências, tanto de nucleotídeos quando de aminoácidos. Por isso é importante estudar bastante a manipulação de strings com Python.
Strings representam estruturas textuais, ou seja, caracteres, letras ou palavras. Entretanto, uma variável do tipo string é definida como string através do uso de aspas simples ou aspas duplas. Na prática isso quer dizer que uma variável declarada como var = “1” ou var = ‘1’ será considerada do tipo string, enquanto se declarada como var = 1, será considerada do tipo inteiro.
Vamos começar com um conceito básico, que até agora foi ignorado por este livro: concatenação de strings. Concatenação ou junção de strings refere-se ao ato de unir duas ou mais strings em uma única.
variavel_1 = "Ola, "
variavel_2 = "mundo!"
concatenacao = variavel_1 + variavel_2
print(concatenacao)
Nesse exemplo será impresso “Ola, mundo!” (Sim, finalmente traduzimos o “Hello World!”).
Lembra quando fizemos um programa para somar dois números, e para exibir o resultado da soma foi necessário utilizar o comando print em cinco linhas de código?
A = 1
B = 2
SOMA = A + B
# Trecho do nosso programa soma.py
print(A)
print("+")
print(B)
print("=")
print(SOMA)
Se você ficou imaginando ter escrito um número desnecessário de linhas você está correto! A impressão poderia ser escrito com uma única linha:
A = 1
B = 2
SOMA = A + B
print("%d + %d = %d" %(A, B, SOMA))
Agora complicou um pouco, não é? Acalme-se, vamos explicar em partes. O que será impresso pelo comando print é o que consta dentro das aspas, entretanto existem estruturas especiais que permitem que várias variáveis sejam impressas dentro de um mesmo comando print. São os chamados marcadores ou operadores de interpolação de strings. Há diversos tipos de marcadores, como:
- %d: números inteiros
- %f: números flutuantes ou reais (ex.: %.2f exibe 2 casas decimais)
- %s: exibe strings
- %o: octal
- %x: hexadecimal
- %e: real exponencial
- %%: sinal de percentagem
Assim, quando marcadores forem utilizados é necessário indicar as variáveis que serão exibidas, nesse caso, A, B e SOMA. Lembre-se de que é necessário indicar as variáveis na sequência em que são exibidas.
Entretanto ainda poderíamos exibir o valor de outra maneira. Veja:
print(str(A)+"+"+str(B)+"="+str(SOMA))
Nesse caso, a função str( ) é utilizada para converter os dados numéricos em strings e permitir que eles fossem impressos com o comando print sem a ajuda de marcadores.
Verificando o tamanho de uma string
É possível verificar o tamanho de uma variável do tipo string utilizando a função len( ).
str = "hello world"
print(len(str) )
# Sera impresso o valor 11
Exibindo um caractere específico em uma string
Para exibir um caractere específico de uma string basta apenas indicar a posição do caractere entre colchetes. Veja:
str = "hello world"
print(str[2] )
# Sera impresso o caractere "l"
Lembre-se de que em programação geralmente iniciamos contagens do número zero. Assim para a variável str = “hello world” temos:
- str[0] = “h”
- str[1] = “e”
- str[2] = “l”
- str[3] = “l”
- str[4] = “0”
- str[5] = ” ”
- str[6] = “w”
- str[7] = “o”
- str[8] = “r”
- str[9] = “l”
- str[10] = “d”
Dividindo strings
Strings podem ser divididas em pequenas sequências de caracteres, denominadas substrings, e assim, podem ser acessadas a partir de uma determinada posição. Usando informações sobre o posicionamento de caracteres pode-se dividir uma string de acordo com a necessidade. Para isso basta usar a seguinte sintaxe: string[inicio:final]. Veja:
str = "hello world"
print(str[0:5])
# Sera impresso a string "hello"
print(str[6:11])
# Sera impresso a string "world"
Podemos ainda omitir o início, quando desejarmos um fatia da string que comece a partir da posição 0, ou o final, quando desejarmos indicar que a substring vai até o último caractere. Por exemplo, para uma variável str de 12 caracteres:
- str[0:5] é equivalente a str[:5]
- str[6:11] é equivalente a srt[6:]
Principais métodos para trabalhar com strings
Veja abaixo os principais métodos para se trabalhar com strings. Esses exemplos serão aplicados a uma variável str = “AAATTTCCCGG”.
Método | Uso |
str.lower( ) | Retorna todos os caracteres em minúsculo. De acordo com o nosso exemplo, o comando str.lower() alteraria o valor da variável str para “aaatttcccgg”. |
str.upper( ) | Retorna todos os caracteres em maiúsculo. |
str.strip( ) | Remove espaços no começo e no fim de uma string. |
str.find(‘texto’) | Busca por uma determinada palavra dentro de uma string. Se encontrada, retorna a posição de início. Se não for encontrada, retorna o valor numérico -1. Como, por exemplo, o comando: str.find(“TTT”) retorna 3. |
str.split(‘delimitador’) | Retorna uma lista com strings separadas por um delimitador. Como por exemplo, o comando: str.split(“TTT”) retorna a seguinte lista [“AAA”, “CCCGG”]. |
str.join(lista) | O oposto de str.split(). Intercala cada string da lista com a string str. Como por exemplo, o comando: ‘—‘.join([‘aaa’, ccc, ttt]) retorna: “aaa—ccc—ttt”. |
str.startswith(str2) | Testa se a string str começa com a string str2. Como, por exemplo, o comando: str.startswith(“AAA”) retorna True. |
str.endswith(str2) | Testa se a string str finaliza com a string str2 |
str.replace(‘string1′, ‘string2′) | Substitui todas as ocorrências da expressão ‘string1’ por ‘string2. Como por exemplo, o comando: str.replace(“C”, “A”) retorna a seguinte string “AAATTTAAAGG”. |
Quer aprender mais? Conheça nossos cursos profissionalizantes à partir de R$19,99:

Capítulo 1
Introdução ao Python
Capítulo 2
Comandos condicionais
Capítulo 3
Laços de repetição
Capítulo 4
Trabalhando com strings
Capítulo 5
Listas
Capítulo 6
Manipulando arquivos
Capítulo 7
Funções
Capítulo 8
Princípios da orientação a objetos
Capítulo 9
Introdução ao Biopython
Capítulo 10
Sequências
Capítulo 11
BLAST
Capítulo 12
PDB
Capítulo 13
Visualização de dados em Python
Capítulo 14
Outras coisas interessantes que se pode fazer com Biopython
Capítulo 15
Hierarquia do Biopython
Por favor, nos cite:
MARIANO, D. C. B.; BARROSO, J. R. P. M. ; CORREIA, T. S. ; de MELO-MINARDI, R. C. . Introdução à Programação para Bioinformática com Biopython. 3. ed. North Charleston, SC (EUA): CreateSpace Independent Publishing Platform, 2015. v. 1. 230p .