Nesta aula teremos uma introdução sobre as String, e também, faremos alguns exemplos em Python, para iniciarmos nosso estudo sobre a manipulação de cadeia de caracteres. |
INTRODUÇÃO ÀS STRING
Uma string é qualquer sequência de caracteres. Caractere é a menor unidade de todo o texto. Os caracateres são classificados em 3 grupos: numérico, letras do alfabeto e caracteres especiais.
É comum nos referirmos ao conjunto de caracteres numéricos e as letras com o termo alfanumérico.
Na programação, é comum a manipulação de cadeias de caracteres, isso porque, a maior parte da informação que o ser humano trabalha, está no formato de texto. Assim, processamos caracteres a todo instânte e rapidamente descobrimos, a grande necessidade em tratar e processar textos. E também, rapidamente aprendemos que existem centenas de maneiras para tratarmos e reconhecermos trechos de texto. Por exemplo, toda linguagem de programação precisa ser interpretada e, para isso, deve haver o reconhecimento de diversos nomes, diversas partes. Cada parte, ou melhor, cada segmento de texto reconhecido possuíra significado diferente, algumas vezes serão expressões, noutras, apenas sinais.
Por essas razões, o entendimento e o domínio da manipulação de caracteres e de conjuntos de caracteres é tão essencial.
Para o Python, todo texto ou caractere é um objeto do tipo str. Portanto, se precisarmos utilizar depeterminado texto como sendo um outro tipo de informação, é nossa responsabilidade como programador, transformar, ou melhor, converter do tipo str para o novo tipo. Vamos supor que desejamos que determinada String seja reconhecido pela linguagem como sendo um número, então, precisamos fazer a conversão e essa pode ser feita da seguinte forma:
texto1 = "10"
texto2 = "20.2"
num = int(texto1)
valor = float(texto2)
Já estudamos, que a utilização do sinal de adição + quando utilizado com 2 objetos do tipo String, ao invés de realizar a operação aritmética, fará a juntação do primeira com a segunda parte. Então, quando estivermos lidando com números, desejaremos obter, com o sinal de adição, soma entre 2 valores numéricos. Por isso, sempre precisaremos converter de str para o tipo que desejamos e para que nossas conversões funcionem, muitas vezes, precisaremos saber, se os caracteres são válidos.
O CONCEITO DE CARACTERE E STRING
Caractere é a únidade mínima de toda String. Um caractere pode ser numérico, letras do alfabeto ou um caracteres especial.
É importante observar, que no Python, diferentemente de outras linguagens, nós não temos o tipo Char, ou seja, o tipo caractere. Para o Python, tudo são Strings, indiferente se a mesma contiver 1 ou "n" caracteres.
No trecho de código a seguir, utilizamos a função type()
para saber qual o tipo de alguns objetos, veja os resultados e abra o seu IDLE e faça os testes você também.
>>> type("a")
<class 'str'>
>>> type("abc")
<class 'str'>
A seguir, implementamos um código simples onde um texto é vinculado a uma referência. Em seguida, a referência e o valor vinculado são impresso na saída padrão. Observe como utilizamos variáveis que contém caracteres:
>>> s = "Lista de Caracteres"
>>> s
"Lista de Caracteres"
TERMINOLOGIAS
Quando manipulamos cadeias de caracteres, isto é, string, utilizamos algumas terminologias especificas que são, de fato, o nome da ação que será realizada. A primeira e mais comum, é o termo Concatenar. O segundo, menos utilizado verbalmente, porém, muito utilizado em nossos códigos é interpolar. Ambos os termos são verbos, e não raramente ouvirás ou lerás expressões em que falamos: "concatenar valores", "concatenação de variáveis", "interpolação de dados", "interpolação de valores" e etc.
CONCATENAR
Concatenar é a junção de 2 cadeias de caracteres e que dá origem a uma nova string que é formada pela junça das 2 partes. A concatenação, pode ser a direita ou então a esquerda de outra string. Então por exemplo, a seguir, temos um exemplo em que fazemos alguns tipos de concatenações.
#concatenção de 2 trechos de texto
>>> concatenacao = "123" + "456"
>>> concatenacao
'123456'
#declaração da variável `a` que foi associado ao texto `bra`
>>> a = "bra"
#declaração da variável `b` que foi associado ao texto `sil`
>>> b = "sil"
#ao escrevemos no prompt a + b temos que é impresso a CONCATENAÇÃO
>>> a + b
'brasil'
#agora, concatenamos e o resultado associamos a variável `c`
>>> c = a + b
>>> c
'brasil'
#agora, podemos dizer que o trecho de texto `bra`
# foi adicionado a esquerda da variável `b`
>>> b + a
'silbra'
#agora, podemos dizer que o trecho de texto `sil`
# foi adicionado a esquerda da variável `a`
>>> a + b
'brasil'
INTERPOLAR
Interpolar é a inserção de um trecho de texto dentro de outro. A interpolação, ocorre de várias formas, e, algumas linguagens e bibliotecas, proporcionam maneiras bastante interessantes e diferentes para interpolarmos valores. O Python fornece um conjunto de ferramentas bastante poderosas para esse fim.
>>> sexo = "masculino"
>>> nome = "Cláudio"
>>> interpolar = "Sexo é igual a %s e o nome é igual %s "%(sexo, nome)
>>> interpolar
'Sexo é igual a masculino e o nome é igual Cláudio '
]
#agora, vamos colocar uma String entre chaves dentro do texto
#em seguida, com a função format(), vamos associar
#os nomes definidos entre chaves a texto passando-os
#como argumentos de função
>>> interpolar = "Sexo é igual a {SEXO} e o nome é igual {NOME} ".format(SEXO=sexo,NOME=nome)
>>> interpolar
'Sexo é igual a masculino e o nome é igual Cláudio '
As string SÃO LISTAS IMUTÁVEIS
Para o Python, toda string é uma lista imutável, semelhante a uma Tupla, porém, com funcionalidade bastante especificas. A manipulação de string, tuplas e listas é bastante semelhante, e, a definição em Python de Tupla e String é quase que identico. Isso porque, toda String após definida NÃO pode ser alterada, ou seja, você não pode alterar um caractere dentro de uma String. Então, ao fazermos alguma alteração numa determinada parte de uma String, o que de fato ocorrerá é a definição de uma nova String.
Há várias razões pela quais as Strings não podem ser alteradas, algumas delas são que, internamente, quando uma string é definida, uma série de otimizações são feitas, de tal forma, que é mais rápido destruir a instância existente e criar uma nova, do que reaproveitar as otimizações existentes. Por isso, por exemplo, a concatenação, interpolação ou qualquer manipulação de string, resulta, invariavelmente, numa nova instância que é criada e que possui as modificações.
Tags curso, python, string, char, caractere, alfanumérico, concatenação, interpolação, blog
Comentários
comments powered by Disqus