diff --git a/Strings.md b/Strings.md new file mode 100644 index 0000000..d9e13bf --- /dev/null +++ b/Strings.md @@ -0,0 +1,145 @@ +As **cadeias de caracteres**, ou **strings**, são sequências de caracteres usadas para representar texto em Python. As strings são um dos tipos de dados mais importantes e versáteis na linguagem, permitindo trabalhar com texto de maneira prática e flexível. + +### 1. Criando Strings + +Strings em Python são criadas usando aspas simples (`'...'`), aspas duplas (`"..."`), ou aspas triplas (`'''...'''` ou `"""..."""`) para textos que ocupam várias linhas. + +```python +# Strings com aspas simples e duplas +nome = 'Maria' +frase = "Olá, bem-vinda ao Python!" + +# String com aspas triplas (ideal para múltiplas linhas) +mensagem = """Este é um exemplo +de uma string que ocupa várias linhas. +Podemos escrever textos longos facilmente. +""" +print(mensagem) +``` + +### 2. Concatenando Strings + +A **concatenação** de strings é a junção de duas ou mais strings em uma só. Em Python, isso é feito com o operador `+`. + +```python +saudacao = "Olá" +nome = "João" +mensagem = saudacao + ", " + nome + "!" +print(mensagem) # Saída: "Olá, João!" +``` + +### 3. Manipulação de Strings + +Python fornece vários métodos úteis para manipular strings. + +- **Tornar tudo maiúsculo**: `upper()` +- **Tornar tudo minúsculo**: `lower()` +- **Capitalize**: Torna apenas o primeiro caractere maiúsculo: `capitalize()` +- **Remover espaços em branco extras**: `strip()` + +```python +texto = " Olá, Mundo! " +print(texto.upper()) # "OLÁ, MUNDO!" +print(texto.lower()) # "olá, mundo!" +print(texto.capitalize()) # "Olá, mundo!" +print(texto.strip()) # "Olá, Mundo!" (remove espaços do início e do fim) +``` + +### 4. Acessando Caracteres em uma String + +Cada caractere em uma string tem uma posição, chamada de **índice**. Em Python, os índices começam em zero. Você pode acessar caracteres individuais com colchetes `[]`. + +```python +frase = "Python" +print(frase[0]) # Saída: "P" +print(frase[3]) # Saída: "h" + +# Acessando o último caractere +print(frase[-1]) # Saída: "n" +``` + +### 5. Fatiamento de Strings (Slicing) + +O **fatiamento** permite extrair partes de uma string usando uma notação `[inicio:fim:passo]`. + +```python +texto = "Python é incrível" + +# Fatiando a string +print(texto[0:6]) # "Python" (do índice 0 até o 5) +print(texto[7:9]) # "é" (do índice 7 até o 8) +print(texto[10:]) # "incrível" (do índice 10 até o fim) +print(texto[::2]) # "Pto írve" (pula de 2 em 2) +``` + +### 6. Interpolação de Strings (f-strings) + +O **f-string** (`f"..."`) é uma forma de formatar strings, permitindo inserir valores de variáveis diretamente no texto. + +```python +nome = "Ana" +idade = 25 +frase = f"{nome} tem {idade} anos." +print(frase) # Saída: "Ana tem 25 anos." +``` + +### 7. Métodos Comuns de Strings + +Python inclui muitos métodos úteis para strings: + +- **`find()`**: Retorna o índice da primeira ocorrência de uma substring. +- **`replace()`**: Substitui uma parte da string por outra. +- **`split()`**: Divide a string em uma lista de substrings com base em um delimitador. +- **`join()`**: Junta uma lista de strings em uma só, com um separador. + +```python +texto = "Python é incrível" + +# Encontrando a posição de uma substring +posicao = texto.find("incrível") +print(posicao) # Saída: 10 + +# Substituindo uma palavra +novo_texto = texto.replace("Python", "Programar") +print(novo_texto) # "Programar é incrível" + +# Dividindo e juntando strings +lista_palavras = texto.split() # ['Python', 'é', 'incrível'] +texto_junto = " ".join(lista_palavras) +print(texto_junto) # "Python é incrível" +``` + +### 8. Exemplo Completo: Construindo uma Mensagem Personalizada + +Aqui está um exemplo que utiliza vários conceitos para construir uma mensagem personalizada. + +```python +# Entrada de dados +nome = input("Digite seu nome: ") +idade = int(input("Digite sua idade: ")) + +# Verificando a idade e criando uma mensagem personalizada +if idade >= 18: + mensagem = f"Bem-vindo(a), {nome}! Como adulto, você tem acesso completo." +else: + mensagem = f"Olá, {nome}! Você tem apenas {idade} anos e ainda não é adulto." + +# Exibindo a mensagem final +print(mensagem) +``` + +Esse programa cria uma mensagem baseada na idade do usuário e demonstra como strings podem ser manipuladas para criar saídas dinâmicas. + +### Resumo dos Principais Métodos e Conceitos + +| Método | Descrição | Exemplo | +|--------------|------------------------------------------------|-----------------------------------------| +| `upper()` | Converte para maiúsculas | `"texto".upper()` → `"TEXTO"` | +| `lower()` | Converte para minúsculas | `"TEXTO".lower()` → `"texto"` | +| `strip()` | Remove espaços do início e do fim | `" texto ".strip()` → `"texto"` | +| `find()` | Retorna o índice da substring | `"Python".find("th")` → `2` | +| `replace()` | Substitui uma substring por outra | `"Olá, Maria".replace("Maria", "Ana")` → `"Olá, Ana"` | +| `split()` | Divide uma string em lista de substrings | `"um dois três".split()` → `['um', 'dois', 'três']` | +| `join()` | Junta lista de strings com separador | `" ".join(['um', 'dois', 'três'])` → `"um dois três"` | + +Esses métodos são fundamentais para manipulação e formatação de texto em Python, tornando as strings altamente flexíveis para criação de mensagens dinâmicas e personalizadas.