Aula 6.3 - Como funciona a obtenção de partes de strings em python
Este artigo faz parte do projeto #LTCode
Bem vindo a mais uma aula, hoje falaremos sobre como obter partes de um texto (strings) e imprimi-los de forma mais sofisticada! Não esqueça de deixar sua opinião, dúvida, correção ou feedback no disqus. Isso é muito importante para nós!
Como falamos na aula passada, uma string é um conjunto de caracteres que juntos formam um texto. Porém na maioria das vezes (praticamente em todos os scripts) não é apenas necessário cria-los ou imprimi-los, às vezes precisamos processá-los para posteriormente fazer uso dos mesmos. Nessa aula mostraremos como obter apenas um caractere de uma string, obter apenas alguns (como por exemplo os 4 últimos), processar uma string e a receber a entrada de um usuário!
Entrada de dados:
Como vocês viram nas aulas de lógica de programação, é muito importante para um programa ou script receber entrada de dados do usuário, pois isso se chama interação, sem interação o nmap (um port scanner muito poderoso) não vai saber quais host scanear ou as portas nas quais ele vai descobrir os serviços rodando e etc. No python a entrada de dados é muito simples e acho desnecessário explicar muito sobre ela, pois viram tudo isso nas aulas de lógica de programação. O meio que utilizaremos para a entrada de dados é a função input(), ela retorna o valor que o usuário digitou, o que quer dizer que podemos colocá-la em uma variável:
Concatenando strings:
O processo de concatenação se dá quando juntamos duas strings, por exemplo, queremos saber o nome completo para armazenar em um banco dados (arquivo normalmente criptografado que armazena informações de usúarios). Pedimos o primeiro nome e depois o sobrenome não é mesmo? A junção pode ser feita da seguinte forma:
No print usamos uma vírgula depois da string, ela serve para separar strings, variáveis, inteiros e etc. em um print. Ela não será mais usada pois recentemente foram implementados métodos mais eficazes de fazer essa tarefa.
Essa forma de concatenar strings não é muito usada porque não gera um espaço entre as palavras e não é muito personalizável, se quiser personalizá-la você usará muitos ( + ) e muitas strings. Outras formas são mais usadas, como f strings ou o método format que já se tornou o que podemos chamar de obsoleto. Mostraremos agora um exemplo de f strings, esse exemplo deve ser feito no mesmo arquivo do outro, até porque usa as mesmas variáveis.
Na primeira linha criamos a variável nome completo e atribuímos à ela uma f string, essa f string é reconhecida quando colocamos um f antes das aspas, o conceito de fstring é simples, pegue uma string e o que tiver entre chaves são variáveis (de qualquer tipo) que devem ser adicionadas a essa string, é importante notar que eu coloquei um espaço entre as variáveis, esse espaço irá separar o nome do sobrenome, até porque apenas o que está entre chaves é considerado uma variável.
Números inteiros ou floats podem ser adicionados em ambas as formas sem problemas:
NOTA: Sempre utilizaremos fstrings para printar variáveis, mesmo se elas estiverem sozinhas, ou seja, sem uma string ou outra variável junta.
Obtendo dados de strings com slices:
Podemos facilmente obter dados de strings, ou seja, partes que nos interessem. Para isso usamos uma técnica chamada slice, o slice é nada mais nada menos que uma forma de obter um caractere ou um grupo de caracteres desejados. Para usar o slice devemos colocar um [] ao lado da variável de tipo string ou string e dentro dele o index ou dois indexes, um de início e outro de fim (Será explicado). Uma peculiaridade é que o primeiro caractere não tem o index 1, o index dele é zero, ou seja, se tiver uma palavra de oito letras a primeira letra vai ter o index 0 e a última o index 7. Vamos te dar um exemplo:
Isso tudo pode ser um pouco difícil porém com o tempo você vai se acostumar, até porque isso é muito requisitado em qualquer tipo de script, como uma imagem vale mais que mil palavras disponibilizarei algumas:
Nas imagens foram mostrados os exemplos de indexes, treine um pouco eles! Às vezes não queremos obter apenas um caráctere, muitos são requisitados para conseguir a informação necessária, pra isso utilizamos o slice múltiplo. Ele consiste em você colocar dois indexes, um para o começo e outro para o fim, separados por dois pontos ( : ). O index de fim começa por um, ou seja, se uma se quisermos obter a string ‘HELLO’ inteira, faremos o seguinte [0:5]. Esse slice pode ser feito de maneira diferente ( [:], [:5], [0:] ), porém ensinaremos mais tarde. Os exemplos para o slice múltiplo podem ser encontrados nas linhas 7 à 9.
Como falei, podemos criar slices de formas diferentes, exemplo, [:], [:5], [0:]. Esse tipo de slice foi criado para evitar a necessidade de contar a quantidade de caracteres, o espaço que fica em branco, se for à esquerda representa o [0], ou seja o primeiro caractere e se for a primeira é o último caractere.
>> Próxima aula, clique aqui.
Bem vindo a mais uma aula, hoje falaremos sobre como obter partes de um texto (strings) e imprimi-los de forma mais sofisticada! Não esqueça de deixar sua opinião, dúvida, correção ou feedback no disqus. Isso é muito importante para nós!
Como falamos na aula passada, uma string é um conjunto de caracteres que juntos formam um texto. Porém na maioria das vezes (praticamente em todos os scripts) não é apenas necessário cria-los ou imprimi-los, às vezes precisamos processá-los para posteriormente fazer uso dos mesmos. Nessa aula mostraremos como obter apenas um caractere de uma string, obter apenas alguns (como por exemplo os 4 últimos), processar uma string e a receber a entrada de um usuário!
Entrada de dados:
Como vocês viram nas aulas de lógica de programação, é muito importante para um programa ou script receber entrada de dados do usuário, pois isso se chama interação, sem interação o nmap (um port scanner muito poderoso) não vai saber quais host scanear ou as portas nas quais ele vai descobrir os serviços rodando e etc. No python a entrada de dados é muito simples e acho desnecessário explicar muito sobre ela, pois viram tudo isso nas aulas de lógica de programação. O meio que utilizaremos para a entrada de dados é a função input(), ela retorna o valor que o usuário digitou, o que quer dizer que podemos colocá-la em uma variável:
[nome = input(‘digite seu nome: ’)Na primeira linha atribuímos a entrada do usuário para a variável nome, você pode ter notado que coloquei uma string como argumento da função (entre os parênteses que precedem a função), essa string será printada para depois o usuário escrever algo na tela.
print(nome)]
O processo de concatenação se dá quando juntamos duas strings, por exemplo, queremos saber o nome completo para armazenar em um banco dados (arquivo normalmente criptografado que armazena informações de usúarios). Pedimos o primeiro nome e depois o sobrenome não é mesmo? A junção pode ser feita da seguinte forma:
[nome = input(‘Digite seu primeiro nome: ’)Na primeira e segunda linha nós criamos a variável e atribuímos o valor da entrada do usuário para a variável (se não entendeu volte para a parte de entrada de dados nessa aula). Na terceira linha concatenamos a variável do tipo string nome com a variável do tipo string sobrenome com o operador de concatenação (+), ele irá apenas juntar os dois e não colocará espaços. Após isso na quarta linha imprimimos a frase ‘nome completo’ e a variável nome completo em seguida.
sobrenome = input(‘Digite seu sobrenome: ’)
nome_completo = nome + sobrenome
print(‘Nome completo:’, nome_completo )]
No print usamos uma vírgula depois da string, ela serve para separar strings, variáveis, inteiros e etc. em um print. Ela não será mais usada pois recentemente foram implementados métodos mais eficazes de fazer essa tarefa.
Essa forma de concatenar strings não é muito usada porque não gera um espaço entre as palavras e não é muito personalizável, se quiser personalizá-la você usará muitos ( + ) e muitas strings. Outras formas são mais usadas, como f strings ou o método format que já se tornou o que podemos chamar de obsoleto. Mostraremos agora um exemplo de f strings, esse exemplo deve ser feito no mesmo arquivo do outro, até porque usa as mesmas variáveis.
[nome_completo = f‘{nome} {sobrenome}’ # Irá armazenar: ‘Thomaz Edson’
print(f‘nome completo: {nome_completo}‘) # Irá imprimir: ‘Thomaz Edson’]
Na primeira linha criamos a variável nome completo e atribuímos à ela uma f string, essa f string é reconhecida quando colocamos um f antes das aspas, o conceito de fstring é simples, pegue uma string e o que tiver entre chaves são variáveis (de qualquer tipo) que devem ser adicionadas a essa string, é importante notar que eu coloquei um espaço entre as variáveis, esse espaço irá separar o nome do sobrenome, até porque apenas o que está entre chaves é considerado uma variável.
Números inteiros ou floats podem ser adicionados em ambas as formas sem problemas:
[numero_string = ‘76’Nas três primeiras linhas criamos três variáveis de três tipos diferentes e nas duas últimas imprimimos elas, perceba que as f strings são muito mais bonitas, sofisticadas, auto explicativas e menores.
numero_inteiro = 76
numero_float = 7.6
print(‘numero_string’ + ‘numero_inteiro’ + ‘numero_float’)
print(f‘{numero_string} {numero_inteiro} {numero_float}’)]
NOTA: Sempre utilizaremos fstrings para printar variáveis, mesmo se elas estiverem sozinhas, ou seja, sem uma string ou outra variável junta.
Obtendo dados de strings com slices:
Podemos facilmente obter dados de strings, ou seja, partes que nos interessem. Para isso usamos uma técnica chamada slice, o slice é nada mais nada menos que uma forma de obter um caractere ou um grupo de caracteres desejados. Para usar o slice devemos colocar um [] ao lado da variável de tipo string ou string e dentro dele o index ou dois indexes, um de início e outro de fim (Será explicado). Uma peculiaridade é que o primeiro caractere não tem o index 1, o index dele é zero, ou seja, se tiver uma palavra de oito letras a primeira letra vai ter o index 0 e a última o index 7. Vamos te dar um exemplo:
[print(‘HELLO’[0]) # Printa ‘H’, a primeira letra
print(‘HELLO’[4]) # Printa ‘O’, a última letra
primeira = ‘HELLO’[0] # Armazena o ‘H’
ultima = ‘HELLO’[4] # Armazena ‘O’
ultima = ‘HELLO’[-1] #Armazena o último caractere, o ‘O’
primeira = ‘HELLO’[-5] #Armazena o primeiro caractere, o ‘H’
completa = ‘HELLO’[:] # pode ser colocado também como ‘olá’[0:5] Resultado: ‘HELLO’
primeira_metade = ‘HELLO’[:3] # Pode também ser colocado como ‘olá’[0:2] Resultado: ‘HEL’
segunda_metade = ‘olá’[2:] # Pode ser colocado também como ‘olá’[1:3] Resultado: ’LL0’]
Isso tudo pode ser um pouco difícil porém com o tempo você vai se acostumar, até porque isso é muito requisitado em qualquer tipo de script, como uma imagem vale mais que mil palavras disponibilizarei algumas:
Nas imagens foram mostrados os exemplos de indexes, treine um pouco eles! Às vezes não queremos obter apenas um caráctere, muitos são requisitados para conseguir a informação necessária, pra isso utilizamos o slice múltiplo. Ele consiste em você colocar dois indexes, um para o começo e outro para o fim, separados por dois pontos ( : ). O index de fim começa por um, ou seja, se uma se quisermos obter a string ‘HELLO’ inteira, faremos o seguinte [0:5]. Esse slice pode ser feito de maneira diferente ( [:], [:5], [0:] ), porém ensinaremos mais tarde. Os exemplos para o slice múltiplo podem ser encontrados nas linhas 7 à 9.
Como falei, podemos criar slices de formas diferentes, exemplo, [:], [:5], [0:]. Esse tipo de slice foi criado para evitar a necessidade de contar a quantidade de caracteres, o espaço que fica em branco, se for à esquerda representa o [0], ou seja o primeiro caractere e se for a primeira é o último caractere.
Este artigo é de autoria de Cobra Fumante (Thomaz), nosso colaborador :)
>> Próxima aula, clique aqui.
COMENTÁRIOS