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

[DUVIDA] Boas práticas no método construtor

Bom dia. No meu algoritmo, na classe ClienteBanco, dentro do método construtor (init) eu fiz uma adaptação do número de CPF (para completar sempre 11 digitos e dividir no formato xxx.xxx.xxx-xx).

Eu pensei em fazer uma função em separado para isso mas, como diz o título, fiquei em duvida se seria melhor ou pior em relação a boas práticas.

Segue algoritmo do jeito que eu fiz, feedbacks são muito bem vindos.

Abraços!

class ClienteBanco:
    clientes = []
    
    def __init__(self,nome,idade,endereco,cpf,profissao):
        self.nome = nome
        self.idade = idade
        self.endereco = endereco

        cpf_partes = f'{cpf:011d}' #:011d, garantindo que tenha 11 dígitos
        self.cpf = f'{cpf_partes[:3]}.{cpf_partes[3:6]}.{cpf_partes[6:9]}-{cpf_partes[9:]}'

        self.profissao = profissao
        ClienteBanco.clientes.append(self)

    @classmethod #criar um método de classe para a conta ClienteBanco
    def listar_clientes(cls):
        lista = f'{'LISTA DE CLIENTES DO BANCO'.center(112,'_')}\n{'Nome'.center(20,'_')} | {'Idade'.center(20,'_')} | {'Endereço'.center(20,'_')} | {'CPF'.center(20,'_')} | {'Profissão'.center(20,'_')}\n'
        for conta in ClienteBanco.clientes:
            lista += f'{conta.nome.title().ljust(20)} | {str(conta.idade).ljust(20)} | {conta.endereco.ljust(20)} | {conta.cpf.ljust(20)} | {conta.profissao.upper()}\n'
        
        return print(lista)
    @classmethod
    def criar_conta(cls,titular,saldo_inicial):
        conta = ContaBancariaPythonica(titular,saldo_inicial)
        return conta
1 resposta
solução!

Oii Caio, tudo bem?

Que ótimo ver você se dedicando às boas práticas em programação, especialmente no que diz respeito à organização e clareza do código. No caso do seu método construtor na classe ClienteBanco, a maneira como você formatou o CPF é funcional, mas realmente pode ser aprimorada em termos de boas práticas.

Separar a formatação do CPF em uma função própria seria uma excelente prática. Isso não só torna o método construtor mais limpo e focado, mas também segue o princípio da responsabilidade única. E, uma função dedicada para a formatação do CPF pode ser reutilizada em outras partes do seu código ou até mesmo em outros projetos.

Um abraço e bons estudos.