O método str() tanto na classe DocCpf quanto na classe DocCnpj possuem funções de formatação, entretanto fiquei confuso, pois no código em nenhum momento ele é chamado explicitamente nas classes. A dúvida é: o método str() é executado quando executa-se o comando print() ? Se sim, como isso é feito, visto que o parametro de entrada no comando print() não tem DocCpf.str().