Topic: Metodi di classe non riconosciuti  (Letto 100 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline eggpap

  • python unicellularis
  • *
  • Post: 6
  • Punti reputazione: 0
    • Mostra profilo
Metodi di classe non riconosciuti
« il: Maggio 03, 2020, 20:04 »

class Prova:
    def __init__(self, nome,conto,importo):
        self.nome=nome
        self.conto=conto
        self.saldo=importo

        def preleva(self,importo): # importo = valore da prelevare
            self.saldo -= importo

c1=Prova("1", "2", 3)
print(c1.nome)
print(c1.saldo)
c1.preleva(100) # qui si genera l'errore "Exception has occurred: AttributeError 'Prova' object has no attribute 'preleva'
print(c1.saldo)


In effetti, quando digito il punto dopo c1, intellisense non elenca 'preleva'

Grazie per l'aiuto

Offline barbezuan

  • python habilis
  • **
  • Post: 60
  • Punti reputazione: 0
    • Mostra profilo
Re:Metodi di classe non riconosciuti
« Risposta #1 il: Maggio 03, 2020, 20:46 »
Che sia perche preleva è annidata in __init__?
L'identazione in python è importante, non è un vezzo estetico. Scrivendo così hai definito un metodo dentro ad un'altra.
« Ultima modifica: Maggio 04, 2020, 06:33 da barbezuan »

Offline eggpap

  • python unicellularis
  • *
  • Post: 6
  • Punti reputazione: 0
    • Mostra profilo
RISOLTO Re:Metodi di classe non riconosciuti
« Risposta #2 il: Maggio 04, 2020, 08:46 »
Che sia perche preleva è annidata in __init__?
L'identazione in python è importante, non è un vezzo estetico. Scrivendo così hai definito un metodo dentro ad un'altra.

Svista colossale, grazie
Ho messo RISOLTO nel subject. E' OK?