Article image
Millena Lopes
Millena Lopes07/06/2024 23:29
Compartilhe

Python e Strings: Estrutura e Funcionalidades a Explorar

    image

    Manipulação de string é como brincar com palavras e frases em Python. Uma string é qualquer sequência de caracteres, como letras, números ou símbolos. Manipular strings significa cortar, juntar, substituir ou mudar essas sequências de várias maneiras.

    image

    Python tem muitos métodos que ajudam a mexer com texto. Aqui estão alguns dos principais métodos de strings em Python:

    1. capitalize(): Converte o primeiro caractere da string em maiúsculo.

     "hello".capitalize()  # "Hello"
    

    2. casefold(): Converte a string para minúsculas, mais agressivamente do que `lower()`.

     

     "HELLO".casefold()  # "hello"
    

     

    3. center(width, fillchar): Centraliza a string, preenchendo com o caractere especificado (por padrão, espaço).

     

     "hello".center(10, "-")  # "--hello---"
    

     

    4. count(sub, start, end): Conta quantas vezes a substring aparece na string.

     "hello world".count("o")  # 2
    

    5. encode(encoding, errors): Codifica a string em bytes usando a codificação especificada.

     "hello".encode("utf-8")  # b'hello'
    

     

    6. endswith(suffix, start, end): Verifica se a string termina com o sufixo especificado.

     

     "hello".endswith("lo")  # True
    

     

    7. expandtabs(tabsize): Substitui caracteres de tabulação na string por espaços.

     "hello\tworld".expandtabs(4)  # "hello   world"
    

    8. find(sub, start, end): Retorna o índice da primeira ocorrência da substring.

     "hello".find("e")  # 1
    

    9. format(args, kwargs): Formata a string usando argumentos posicional e nomeados.

     "Hello, {}".format("world")  # "Hello, world"
    

    10. format_map(mapping): Formata a string usando um mapeamento.

     

      "Hello, {name}".format_map({"name": "world"})  # "Hello, world"
    

    11. index(sub, start, end): Retorna o índice da primeira ocorrência da substring, levantando um ValueError se não for encontrada.

      "hello".index("e")  # 1
    

    12. isalnum(): Verifica se todos os caracteres da string são alfanuméricos.

      "hello123".isalnum()  # True
    

    13. isalpha(): Verifica se todos os caracteres da string são letras.

      "hello".isalpha()  # True
    

    14. isascii(): Verifica se todos os caracteres da string são ASCII.

     

      "hello".isascii()  # True
    

     

    15. isdecimal(): Verifica se todos os caracteres da string são decimais.

      "123".isdecimal()  # True
    

    16. isdigit(): Verifica se todos os caracteres da string são dígitos.

     

      "123".isdigit()  # True
    

    17. isidentifier(): Verifica se a string é um identificador válido.

      "hello_world".isidentifier()  # True
    

     

    18. islower(): Verifica se todos os caracteres da string estão em minúsculas.

      "hello".islower()  # True
    

     

    19. isnumeric(): Verifica se todos os caracteres da string são numéricos.

      "123".isnumeric()  # True
    

     

    20. isprintable(): Verifica se todos os caracteres da string são imprimíveis.

      "hello".isprintable()  # True
    

     

    21. isspace(): Verifica se todos os caracteres da string são espaços em branco.

     

      "   ".isspace()  # True
    

     

    22. istitle(): Verifica se a string está no formato de título (primeira letra de cada palavra em maiúsculo).

      "Hello World".istitle()  # True
    

     

    23. isupper(): Verifica se todos os caracteres da string estão em maiúsculas.

      "HELLO".isupper()  # True
    

    24. join(iterable): Junta os elementos de um iterável em uma única string, usando a string atual como delimitador.

     

      "-".join(["hello", "world"])  # "hello-world"
    

     

    25. ljust(width, fillchar): Alinha a string à esquerda, preenchendo com o caractere especificado.

      "hello".ljust(10, "-")  # "hello-----"
    

     

    26. lower(): Converte todos os caracteres da string para minúsculas.

      "HELLO".lower()  # "hello"
    

     

    27. lstrip(chars): Remove os caracteres especificados do início da string.

      "  hello".lstrip()  # "hello"
    

    28. maketrans(x, y, z): Cria uma tabela de mapeamento para `translate()`.

     

      table = str.maketrans("aeiou", "12345")
      "hello".translate(table)  # "h2ll4"
    

     

    29. partition(sep): Divide a string na primeira ocorrência do separador e retorna uma tupla com três elementos.

      "hello world".partition(" ")  # ('hello', ' ', 'world')
    

     

    30. replace(old, new, count): Substitui as ocorrências de uma substring por outra.

      "hello world".replace("world", "Python")  # "hello Python"
    

     

    31. rfind(sub, start, end): Retorna o índice da última ocorrência da substring.

     

      "hello hello".rfind("hello")  # 6
    

    32. rindex(sub, start, end): Retorna o índice da última ocorrência da substring, levantando um ValueError se não for encontrada.

      "hello hello".rindex("hello")  # 6
    

    33. rjust(width, fillchar): Alinha a string à direita, preenchendo com o caractere especificado.

      "hello".rjust(10, "-")  # "-----hello"
    

    34. rpartition(sep): Divide a string na última ocorrência do separador e retorna uma tupla com três elementos.

      "hello world world".rpartition(" ")  # ('hello world', ' ', 'world')
    

    35. rsplit(sep, maxsplit): Divide a string da direita para a esquerda usando o separador especificado.

      "hello world".rsplit(" ", 1)  # ['hello', 'world']
    

     

    36. rstrip(chars): Remove os caracteres especificados do final da string.

     

      "hello   ".rstrip()  # "hello"
    

    37. split(sep, maxsplit): Divide a string usando o separador especificado.

     

      "hello world".split(" ")  # ['hello', 'world']
    

    38. splitlines(keepends): Divide a string nas quebras de linha.

     

      "hello\nworld".splitlines()  # ['hello', 'world']
    

    39. startswith(prefix, start, end): Verifica se a string começa com o prefixo especificado.

      "hello".startswith("he")  # True
    

     

    40. strip(chars): Remove os caracteres especificados do início e do final da string.

      "  hello  ".strip()  # "hello"
    

    41. swapcase(): Converte caracteres maiúsculos em minúsculos e vice-versa.

     

      "Hello".swapcase()  # "hELLO"
    

    42. title(): Converte a string para o formato de título (primeira letra de cada palavra em maiúsculo).

      "hello world".title()  # "Hello World"
    

    43. translate(table): Substitui caracteres na string usando a tabela de mapeamento especificada.

     

      table = str.maketrans("aeiou", "12345")
      "hello".translate(table)  # "h2ll4"
    

     

    44. upper(): Converte todos

     os caracteres da string para maiúsculas.

     

      "hello".upper()  # "HELLO"
    

    45. zfill(width): Preenche a string com zeros à esquerda até atingir o comprimento especificado.

      "42".zfill(5)  # "00042"
    

     

    Esses métodos ajudam a manipular e trabalhar com strings de várias maneiras.

    Quais são os mais usados?

    Os métodos mais usados são:

    - len(): Para saber o tamanho da string.

    nome = "Python"
    print(len(nome))  # Saída: 6
    

    - upper(): Para transformar tudo em maiúsculas.

    print(nome.upper())  # Saída: PYTHON
    

    - lower(): Para transformar tudo em minúsculas.

    print(nome.lower())  # Saída: python
    

    - replace(): Para substituir partes da string.

    frase = "Eu amo pizza"
    print(frase.replace("pizza", "Python"))  # Saída: Eu amo Python
    

    - split(): Para dividir a string em uma lista.

    data = "21/06/2024"
    print(data.split("/"))  # Saída: ['21', '06', '2024']
    

    image

    Vamos fazer um desafio! Um palíndromo é uma palavra ou frase que se lê da mesma forma de trás para frente. Seu desafio é escrever uma função em Python que verifica se uma palavra é um palíndromo. Aqui vai um exemplo para começar:

    def palindromo(palavra):
      palavra = palavra.lower().replace(" ", "")
      return palavra == palavra[::-1]
    
    print(palindromo("radar"))  # Saída: True
    print(palindromo("python"))  # Saída: False
    

    Outros métodos para resolver o desafio de palíndromo:

    Além do método básico que mostramos antes, existem várias outras maneiras de verificar se uma palavra é um palíndromo usando diferentes métodos de manipulação de strings em Python. Vamos explorar alguns deles.

    Usando reversed()

    Podemos usar a função `reversed()` para inverter a string e comparar com a original.

    Usando loop for

    Podemos verificar manualmente cada caractere da string comparando os caracteres do início com os do final.

    Usando join() e filter()

    Podemos usar `join()` e `filter()` para remover espaços e transformar tudo em minúsculas, depois comparar a string com sua versão invertida.

    Usando deque da coleção collections

    A classe `deque` (double-ended queue) permite a inserção e remoção de elementos de ambos os lados de forma eficiente. Podemos usar isso para comparar os extremos da string.

    image

    Gostou do conteúdo? Conteúdo gerado por IA com revisão 100% humana.

    Tente resolver o desafio usando diferentes métodos e compartilhe suas soluções comigo! Quero ver como você resolve esse desafio de outras formas!

    Se quiser conecte-se comigo, Me siga no Linkedin

    Fontes de produção:

    Imagem gerada por: Ideogram

    Expansão de imagem: Youcam

    Edição de imagem: Canva

    Conteúdo gerado por: ChatGPT

    #Python #DesafioDeCódigo #InteligênciaArtificial

    Compartilhe
    Comentários (0)