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)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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)
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?