Olá, segui o código como apresentado na aula, funciona perfeitamente para CPFs passados como "str". Para CPFs passados como integer funciona apenas se não começar com zero.
Segue o código:
from validate_docbr import CPF
class Cpf:
def init(self, documento): documento = str(documento) if self.valida_cpf(documento): self.cpf = documento else: raise ValueError('CPF inválido')
def str(self): return self.formata_cpf()
def valida_cpf(self, cpf): if len(cpf) == 11: validador = CPF() return validador.validate(cpf) else: return False
def formata_cpf(self): mascara = CPF() return mascara.mask(self.cpf)
cpf = 04096352195
objeto_cpf = Cpf(cpf)
print(objeto_cpf)
Se passar o CPF acima entre aspas, o código funciona, da forma que está retorna o seguinte erro: SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
Este erro ocorre apenas para CPF que iniciam com zero, outros CPFs funcionam mesmo passados como integer.