Olá, boa tarde! Estou fazendo a Formação de Python. Nos vídeos do curso Python Brasil: Validação de dados no padrão nacional temos sempre nas Classes: Def construtora init, uma def para validação do documento (cpf, cnpj ou telefone) e as def de formatação (máscara) e impressão (str)
Por que mesmo nas Def format e Def str a gente passa só o 'self' e não passa o outro(s) atributo(s) da classe? Já tinha visto em algum dos cursos anteriores mas não consegui localizar o vídeo que introduziu esse conceito. Agradeço quem puder ajudar (explicando ou localizando essa aula pra mim) :-)
Exemplo:
class DocCnpj: def init(self, documento): if self.valida_documento(documento): self.cnpj = documento else: raise ValueError('CNPJ inválido!!!')
def __str__(self):
return self.formata_documento()
def formata_documento(self):
mascara = CNPJ()
return mascara.mask(self.cnpj)
def valida_documento(self, documento):
validador = CNPJ()
return validador.validate(documento)