[Python] Caccia al bug, UnboundLocalError
Manlio Perillo
manlio.perillo a gmail.com
Lun 15 Apr 2013 18:06:10 CEST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 15/04/2013 17:50, Adriano Barbieri ha scritto:
> Ma di quale linguaggio stai parlando? Non di Python e non di
> UnboundLocalError.
>
> Come?
> E' perché ho detto definizione al posto di funzione... e un po' di
> elasticità sù daii :)
No.
Perchè hai scritto:
L'errore può anche essere che x non sia del tipo corretto, ad
esempio x="stringa" e poi la tenti di azzerare come un integer. cioè
x=0 quando invece si dovrebbe scrivere x=''
Questo non è Python.
Inoltre anche quello che scrivevi prima:
La x assegnata nella definizione ha vita solo al suo interno, se
vuoi globalizzare il suo valore, prima ti conviene chiamarla self.x
ed usarla come tale.
Non è corretto, ma non perchè hai scritto definizione al posto di
funzione. Inoltre che vuoi dire con "prima di conviene chiamarla self.x ?
> Dopotutto def non è sinonimo di definizione di funzione?
> Scusa ma provvengo ancora dalla programmazione di Amiga con AMOS Pro...
> da molto molto tempo, il Python è pochi mesi che lo mastico e mi sono
> iscritto a questa lista col desiderio di apprendere qualche nozione di
> programmazione in Python, ma fin'oranessuno si è degnato a rispondere a
> un paio di miei quesiti.
Non dimenticare che nessuno è tenuto a risponderti, dato che magari:
* non ha tempo di farlo quando vede il messaggio, oppure magari non lo
ha notato
* non conosce l'argomento su cui chiedi aiuto
(ci sono migliaia di librerie e non si possono conoscere tutte)
* non gli piace come è scritto il messaggio, ed in particolare è
disturbato dal fatto che la risposta poteva essere ottenuta tramite
una semplice ricerca su Internet.
Per maggiori informazioni:
http://www.catb.org/esr/faqs/smart-questions.html
> Senza polemizzare, in questa lista mi pare qualcuno abbia una esperienza
> decennale con questo linguaggio, ma forse si sente troppo superiore a
> sto principiante da neanche deniarlo di una risposta.
>
> UnboudLocalError: Local variable 'x1' referenced before assignment.
>
> Dalla mia poca esperienza mi dice che è stata usata una variabile prima
> di essere definita e quello che ho suggerito mi è sembrato chiaro e
> terra terra...
La diagnosi è corretta, ma non le due soluzioni che avevi proposto.
Ciao Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAlFsJXIACgkQscQJ24LbaUSkjgCgmPNEeGCkNGehub6CHwphfwXL
Gi4An3NivsAw8Y/r2awRmjIvslX538Cd
=S28J
-----END PGP SIGNATURE-----
Maggiori informazioni sulla lista
Python