Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Método do Objeto não é reconhecido

Olá, criei o objeto Conta, e também construi o método extrato logo em seguida, conforme abaixo:

class Conta:

    def __init__(self, numero, titular, saldo, limite):
        self.numero = numero
        self.titular = titular
        self.saldo = saldo
        self.limite = limite

    def extrato(self):
        print('O extrato da conta do {} é de R$ {:.2f}'.format(self.titular, self.saldo))

No entanto, ao tentar chamar o método no console, aparece o erro:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: 'Conta' object has no attribute 'extrato'

E sim, eu guardei o objeto na referência conta antes disso...

PyDev console: starting.
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
from conta import Conta
conta = Conta(7286, 'Leo', 98000, 6000)
conta.limite
6000
conta.extrato
Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: 'Conta' object has no attribute 'extrato'

Tem algo errado no código?

3 respostas

Olá,

o erro menciona que a classe não tem o atributo porque vc não está utilizando parenteses na chamada do método.

conta.extrato

Para fazer assim, teria que transformar em um property (getter), do contrário a chamada deveria ser assim

conta.extrato()

=)

Mesmo usando o parênteses não vai :(

PyDev console: starting.
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
from conta import Conta
conta = Conta(153, 'leo', 57555, 6000)
conta.extrato()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: 'Conta' object has no attribute 'extrato'
solução!

Descobri... era um erro de localização do arquivo. Não estava na mesma pasta.