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

Passar argumentos corretamente

Estou praticando por conta a herança de classes e nesse exemplo que eu fiz, está dando o seguinte erro:

Traceback (most recent call last): File "", line 46, in File "", line 25, in init TypeError: init() takes 3 positional arguments but 4 were given

Gostaria de saber o que estou fazendo de errado e a possível correção. Segue meu código:

class Conta:

    def __init__(self, numero, agencia):
        self._numero = numero
        self._agencia = agencia

    @property
    def numero(self):
        return self._numero

    @property
    def agencia(self):
        return self._agencia

    @agencia.setter
    def agencia(self, agencia):
        self._agecia = agencia

    def __str__(self):
        return f'Nº: {self._numero} - AG: {self._agencia}'

class Cliente(Conta):

    def __init__(self, numero, agencia, nome, cpf):
        super().__init__(self, numero, agencia)
        self.nome = nome
        self.cpf = cpf

        @property
        def nome(self):
            return self._nome

        @nome.setter
        def nome(self, nome):
            self._nome = nome

        @property
        def cpf(self):
            return self._cpf

    def __str__(self):
        return f'Nº: {self._numero} - AG: {self._agencia} - NOME: {self.nome} - CPF: {self.cpf}'



cliente = Cliente(1, 157, 'Hérique', 9999999999)
1 resposta
solução!

Eu mesmo achei o que estava errado. Foi apenas uma falta de atenção.

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