Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

validação do cep

Na validação do CEP, não seria interessante utilizar regex? Neste caso compilaríamos usando re.compile(r'(\d){5}-(\d){3}')e depois usaríamos lógica booleana para validar? dá para fazer assim? Obrigado desde já pela ajuda.

1 resposta
solução!

Oii Pietro, como você está?

É possível utilizar regex para validar o formato dos números do CEP. Vale ressaltar que é possível aliar a validação do tamanho com o uso de expressões regulares, dessa forma, garantimos que sempre será passado para a classe 8 números. Podemos fazer isso da seguinte forma:

import re

class BuscaEndereco:

    def __init__(self, cep):
        cep = str(cep)
        if self.cep_eh_Valido(cep):
            self.cep = cep
        else:
            raise ValueError("CEP inválido!")

    def cep_eh_Valido(self, cep):
       if len(cep) == 8:
          padrao_cep = re.compile(r'(\d){5}(\d){3}')

          match = padrao_cep.match(cep)

          return True
       else:
          return False


cep = 25870145
objeto_cep = BuscaEndereco(cep)

O instrutor optou por validar pelo tamanho utilizando a função len por ser algo simples e direto, mas podemos fazer a validação do formato do CEP através de expressões regulares (regex) em conjunto com a função len, sendo este um modo de se obter o mesmo resultado.

Espero ter ajudado.

Qualquer dúvida fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software