Olá Matheus! Tudo joia?
A programação "pythônica" refere-se a escrever código Python de uma forma que seja considerada idiomática e que siga as melhores práticas da linguagem. Isso geralmente significa escrever código que é claro, conciso e que aproveita as características únicas do Python, como o uso de propriedades, compreensão de listas, e outros recursos que tornam o código mais legível e eficiente.
No seu código, você já está utilizando algumas práticas pythonicas, como o uso de propriedades para acessar o status da conta de forma mais elegante. No entanto, podemos fazer algumas melhorias para torná-lo ainda mais pythonico:
Nomeação de Classes e Métodos: Em Python, é comum usar o estilo PascalCase para nomes de classes e snake_case para métodos e variáveis. Assim, bank_account poderia ser renomeado para BankAccount, e activate_account poderia ser ativar_conta.
Uso de Propriedades: Você já está usando propriedades, o que é ótimo! Isso permite que você acesse atributos de forma controlada, sem expor diretamente os atributos privados.
Método __str__: O método __str__ está bem implementado, mas você pode garantir que o saldo seja sempre exibido como um número ao invés de uma string, assim você pode realizar operações matemáticas com ele, se necessário.
Aqui está uma versão um pouco mais pythonica do seu código:
class ContaBancaria:
def __init__(self, titular, saldo):
self._titular = titular
self._saldo = float(saldo.replace('R$', '').replace(',', ''))
self._ativo = False
@property
def ativo(self):
return 'Status da conta: ☑' if self._ativo else 'Status da conta: ☐'
def ativar_conta(self):
self._ativo = not self._ativo
def __str__(self):
return (f'Nome do dono da conta: {self._titular}, Saldo bancário: R$ {self._saldo:.2f} {self.ativo}')
Conta1 = ContaBancaria('Guilherme Almeida', 'R$ 2500.0')
Conta2 = ContaBancaria('Gilmar Mendes', 'R$ 2500.0')
Conta3 = ContaBancaria('Fernanda Oliveira', 'R$ 3000.0')
Conta4 = ContaBancaria('Alessandra Rodrigues', 'R$ 1000.0')
Conta5 = ContaBancaria('Gregorio Pereira', 'R$ 300.0')
Conta6 = ContaBancaria('Caio Castle', 'R$ 10000.0')
Conta1.ativar_conta()
Conta2.ativar_conta()
Conta4.ativar_conta()
Conta6.ativar_conta()
print(Conta1)
print(Conta2)
print(Conta3)
print(Conta4)
print(Conta5)
print(Conta6)
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.