1
resposta

Diferença entre valida e format

Por que "valida" precisa de (self,documento) e "format" precisa apenas de (self)?

def valida(self, documento): validador = CPF() return validador.validate(documento)

def format(self):
mascara = CPF()
return mascara.mask(self.cpf)
1 resposta

Oi Taisa, tudo bem?

Na classe Cpf, você recebe o valor no momento em que se instancia o objeto, e a validação será em cima do atributo da classe.

class Cpf:
    def __init__(self, documento):
         # Validações
         self.cpf = documento

def format(self):
   mascara = CPF()
   return mascara.mask(self.cpf)

#Instanciando objeto
cpf = Cpf('12345678901')

#Fazendo a máscara em cima de self.cpf (em cima do valor '12345678901')
cpf.format()

Como a validação será sempre em cima do atributo da classe, não há necessidade de receber como parâmetro da função.

class Cpf:
    def __init__(self, documento):
         # Validações
         self.cpf = documento

def format(self):
   mascara = CPF()
   return mascara.mask(self.cpf)

#Instanciando objeto
cpf = Cpf('12345678901')

#Fazendo a validação em cima do valor passado para a função como '12345678901'

cpf.valida('98765432101')

Já no método valida, você faz a validação em cima sempre do parâmetro passado para a função e não por um atributo do objeto.

Faz sentido?