strings
Até aqui, vimos três diferentes tipos de dado: int, float e string. Strings são qualitativamente diferentes dos outros dois tipos porque são feitas de pedaços menores - caracteres.
Tipos que consistem de pedaços menores são chamados tipos de dados compostos. Dependendo do que estejamos fazendo, pode ser que precisemos tratar um tipo de dado composto como uma coisa única, ou pode ser que queiramos acessar suas partes. Esta ambigüidade é útil.
O operador colchete seleciona um único caractere de uma string.:
>>> fruta = "banana"
>>> letra = fruta[1]
>>> print letra
A expressão fruta[1] seleciona o caractere número 1 de fruta. A variável letra referencia ou refere-se ao resultado da expressão. Quando exibimos letra, temos uma surpresa:
a
A primeira letra de "banana" não é a. A menos que você seja um cientista da computação. Neste caso, você deve entender a expressão dentro dos colchetes como um deslocamento (offset,) a partir do começo da string, e o deslocamento da primeira letra é zero. Assim, b é a 0ª (“zero-ésima”) letra de "banana", a é a 1ª (“um-ésima”, diferente de primeira), e n é a 2ª (“dois-ésima”, diferente de segunda) letra.
Para pegar a primeira letra de uma string, você simplesmente põe 0, ou qualquer expressão que resulte o valor 0, dentro dos colchetes:
>>> letra = fruta[0]
>>> print letra b A expressão entre colchetes é chamada de índice. Um índice especifica um membro de um conjunto ordenado, neste caso o conjunto de caracteres da string. O índice indica aquele membro que você quer, daí seu nome. Ele pode ser qualquer expressão inteira.
7.2 Comprimento
A função len retorna o número de caracteres de uma string:
>>> fruta = "banana"
>>> len(fruta)
6
Para pegar a última letra de uma string, você pode ficar tentado a fazer alguma coisa assim:
comprimento = len(fruta) ultima = fruta[comprimento] # ERRO!
Não vai funcionar. Isto vai causar o seguinte erro em tempo de execução (runtime