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?