4th Street Bar Hive-Bar

Hive-Bar Powered by Hive beta-fdb5b5b

Community post

Básico de Strings em Python!! [PT/BR]

Opa, tudo bem?? Hoje vou tentar te explicar sobre strings no Python :D

lol

Eu tenho um repositório no GitHub que você pode baixar o código e ver ele funcionando ;)
https://github.com/joaocosta956/Estudos/blob/main/Strings.py

Todas Strings em Python são iteráveis, ou seja, todas letras são endereçadas o que nos permite acessar por índice. Cada letra possui um número.

Podemos selecionar o inicio e o fim dos indices e também podemos selecionar de quantos em quantos queremos, por exemplo de 2 em 2.

Code:

print(string_um[9:19:1])

Output:

você está

i = Inicio
f = Fim
p = Passos (Por padrão vem 1)

Mas lembre-se, a letra do índice 9, não vai aparecer, é a partir dele.
E caso não informe o index final, irá a partir do 9 até o último índice.

Code:

print(string_um[9::2])

Output:

oêet?

É possível omitir/ignorar o inicio, o fim e os passos.
Caso ignore o índice do inicio, vai começar do índice 0, que é o início, caso omita o índice final, ele ira até o ultimo índice, caso omita os passos, ele por padrão seguira com 1, ou seja, de 1 em 1


sasuke

Se você colocar um número negativo a string é iterada ao contrário
Não é necessário informar os números neste caso, veja:

Code:

print(string_um[::-1])

Output:

?átse êcov omoc ,álO


Agora vamos ver um palíndromo

A palindromia é um conceito linguístico e matemático que se refere a uma sequência de caracteres, seja uma palavra, frase ou número, que pode ser lida da mesma maneira da esquerda para a direita e da direita para a esquerda. Em outras palavras, é um padrão simétrico em que os caracteres são dispostos de forma que formam a mesma sequência quando lidos de trás para frente. Alguns exemplos de palíndromos em português incluem "radar", "asa", "reter" e "anilina". Palíndromos podem ser uma curiosidade interessante na linguagem e na matemática.

Code:

palindromo = 'socorram me subi no onibus em marrocos'
print(palindromo[::-1])

Output:

socorram me subino on ibus em marrocos


saitama

Aqui veremos um loop while, poderia ser com for também.
Onde a função "len()" retorna o número de letras/indices. Então enquanto "len_string_um" for menor que i (que começa no 0 e é incrementado no loop while)

Code:

len_string_um = len(string_um)
i = 0
print(10*'-','Por loop While',10*'-')
while i < len_string_um:
print(f'Indice: {i}')
print(string_um[i])
i += 1

Output:

Indice: 0
O
Indice: 1
l
Indice: 2
á
Indice: 3
,
Indice: 4
Indice: 5
c
Indice: 6
o
Indice: 7
m
Indice: 8
o
Indice: 9
Indice: 10
v
Indice: 11
o
Indice: 12
c
Indice: 13
ê
Indice: 14
Indice: 15
e
Indice: 16
s
Indice: 17
t
Indice: 18
á
Indice: 19
?

OBS: Tive que apagar os espaços para não atrapalhar na estética. Mas os espaçoes existem e tem valor.

Então... talvez seja um pouco complicado de entender, mas vou tentar explicar.
Eu defini a variável "i" como 0, antes do loop, ou seja, só vai ser somado dentro do loop, afinal se você definir "i" dentro do loop, ele sempre será 0, e nunca saíra desta posição, o que irá gerar um loop infinito.

A partir do momento que entra no loop é feita a verificação se "i" é maior que o número de letras, se não for é mostrado a letra e o índice (é difícil entender por texto, então é melhor rodar o código)


cat

Quando em strings, o operador "+", de soma, se torna de concatenação, ou seja, irá juntar as letras/palavras (não dá pra concatenar strings com inteiros).

Code:

palavra = 'Oi'
print(palavra+', como você está?')

Output:

Oi, como você está?


ATENÇÃO!!
Não estou entrando no mérito em ser eficiente, é apenas didático isso, pra ficar mais claro ;)

No código abaixo, manualmente coloquei os indices para mostrar que, caso os indices colocados não existam, irá levantar uma exceção/erro e o código irá quebrar.
Por isso, não utilizem iterações de strings de maneira manual, não é uma boa prática.

Code:

print(string_um[0])
print(string_um[1])
print(string_um[2])
print(string_um[3])
print(string_um[4])
print(string_um[5])
print(string_um[6])
print(string_um[7])
print(string_um[8])
print(string_um[9])
print(string_um[10])
print(string_um[11])
print(string_um[12])
print(string_um[13])
print(string_um[14])
print(string_um[15])
print(string_um[16])
print(string_um[17])
print(string_um[18])
print(string_um[19])
Vai até aqui, apartir daqui gera um Erro IndexError: string index out of range
Ou seja o index da palavra está fora do "range", da "pool".
print(string_um[20])

Output:

O
l
á
,
c
o
m
o
v
o
c
ê
e
s
t
á
?
Traceback (most recent call last):
File "c:\Users\joaov\Estudos\Strings.py", line 76, in
print(string_um[20])
IndexError: string index out of range

Perceba que até os espaços são contatos. (na imagem)


>///<

Muito obrigado por ler até aqui :D 🥰🥰🥰.
Caso veja algum erro, alguma sugestão, alguma critica, deixei um comentário ;D
Lembrando que não sou desenvolvedor Pleno em Python, então sou passível a errar, por isso, não me julguem :(
Abraços!!!

13 upvotes $0.11

Replies (2)

Review before signing

Posting as . Signing with . Keychain permission: Posting. Hive Keychain will ask you to approve this action next.


  
Technical details

Operation fingerprint: