Oi, Pedro! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Seu código ficou bem organizado e mostra que você praticou pontos importantes da Orientação a Objetos em Python, como __init__, __str__, criação de objetos e uso de vars(). Gostei também de ver a lista clientes sendo atualizada automaticamente dentro do construtor, isso mostra uma boa compreensão de atributos de classe.
Uma dica interessante para o futuro é usar @staticmethod quando um método não usa self, como no caso de listar_clientes().
class Cliente:
clientes = []
def __init__(self, nome, idade, telefone, email):
self.nome = nome
self.idade = idade
self.telefone = telefone
self.email = email
Cliente.clientes.append(self)
@staticmethod
def listar_clientes():
for cliente in Cliente.clientes:
print(f"{cliente.nome} | {cliente.idade} | {cliente.telefone} | {cliente.email}")
O código lista todos os clientes cadastrados sem precisar criar um objeto apenas para chamar o metodo. Continue praticando, você está avançando muito bem em classes, atributos e métodos especiais.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!