Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao importar uma classe c/ @staticmethod

Assitindo a aula 03 Refatorando o código ao editar a classe cpf_cnpj com um metodo estático, quando chamo essa clase no main da o seguinte erro abixo, como também deixo as duas classes para avaliação:

C:\Users\jards\PycharmProjects\brasilidades\venv\Scripts\python.exe C:/Users/jards/PycharmProjects/brasilidades/main.py Traceback (most recent call last): File "C:\Users\jards\PycharmProjects\brasilidades\main.py", line 1, in from cpf_cnpj import Documento

#Classe main
from cpf_cnpj import Documento

teste = ("12390472000187")
documento = Documento.cria_docuemento(teste)
print(documento)
#Classe cpf_cnpj

    class Documento:
    @staticmethod
    def cria_docuemento(documento):
        if len(documento) == 11:
            return DocCpf(documento)
        elif len(documento) == 14:
            return  DocCnpj(documento)
        else:
            raise ValueError("Quantidade de digitos inválida!!"")

class DocCpf(documento):
    def __init__(self, cpf):
        self.cpf = None
        self.valida_cpf(cpf)

    def valida_cpf(self, cpf):
        validador = CPF()
        if validador.validate(cpf):
            self.cpf = cpf
            print("CPF salvo")
        else:
            raise ValueError("CPF inválido!!!")

    def mascara_cpf(self):
        mascara = CPF()
        return mascara.mask(self.cpf)

    def __str__(self):
        return self.mascara_cpf()

class DocCnpj(documento):
    def __init__(self, cnpj):
        self.cnpj = None
        self.valida_cnpj(cnpj)

    def valida_cnpj(self, cnpj):
        validador = CNPJ()
        if validador.validate(cnpj):
            self.cnpj = cnpj
            print("CNPJ salvo")
        else:
            raise ValueError("CNPJ inválido!!!")

    def mascara_cnpj(self):
        mascara = CNPJ()
        return mascara.mask(self.cnpj)

    def __str__(self):
        return self.mascara_cnpj()
1 resposta
solução!

Galera!!

O erro estava em passar argumento no nome da Classe

class DocCpf(documento):
class DocCnpj(documento):