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)
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?