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

Meu código esta dando erro


class Conta:

    def __init__(self, numero, titular, saldo, limite):
        print("Construindo objeto ... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def extrato(self):
        print("Saldo de {} do titular {}".format(self.saldo, self.titular))

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

    def saca(self, valor):
        self.saldo -= valor

toda vez que tento executar ele dá esse erro: Traceback (most recent call last): File "", line 1, in TypeError: extrato() missing 1 required positional argument: 'self'

1 resposta
solução!

Oi Mário, beleza? Este erro geralmente ocorre quando não inicializamos uma instância da classe e tentamos chamar diretamente o método. Neste caso apresentado, tente o seguinte:

conta = Conta(123,"Nico",55.5,1000.0)
conta2 = Conta(321,"Marco",100.0,1000.0)
conta.extrato()
conta2.extrato()

ou simplesmente já chame a função extrato() na inicialização da classe Conta, ficando da seguinte forma:

conta = Conta(123,"Nico",55.5,1000.0).extrato()
conta2 = Conta(321,"Marco",100.0,1000.0).extrato()

Segue abaixo o código completo:

class Conta:
    def __init__(self, numero, titular, saldo, limite):
        print("Construindo objeto ... {}".format(self))
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def extrato(self):
        print("Saldo de {} do titular {}".format(self.saldo, self.titular))

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

    def saca(self, valor):
        self.saldo -= valor

if __name__ == '__main__':

    conta = Conta(123,"Nico",55.5,1000.0)
    conta2 = Conta(321,"Marco",100.0,1000.0)
    conta.extrato()
    conta2.extrato()

Espero ter ajudado :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software