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

__str__ não funciona

Tentei fazer esse codigo para quando rodar aparecer "[>>Codigo 15 Saldo 0<<] porem quando executo ele, só aparece o endereço de memoria em que a classe ContaCorrente esta, o que estou fazendo de errado?

class ContaCorrente:

    def __init__(self, codigo):
        self.codigo = codigo
        self.saldo = 0

        def deposita(self, valor):
            self.saldo += valor

        def __str__(self):
            return "[>>Codigo {} Saldo {}<<]".format(self.codigo, self.saldo)


conta_do_gui = ContaCorrente(15)
print(conta_do_gui)
1 resposta
solução!

Cuidado com a indentação. Seus blocos de def deposita() e def __str__() estão dentro do def __init__(), e deveriam estar fora.

class ContaCorrente:

    def __init__(self, codigo):
        self.codigo = codigo
        self.saldo = 0

    # voltei 4 espaços nesse bloco
    def deposita(self, valor):
        self.saldo += valor

    # e nesse também
    def __str__(self):
        return "[>>Codigo {} Saldo {}<<]".format(self.codigo, self.saldo)


conta_do_gui = ContaCorrente(15)
print(conta_do_gui)