2012/4/24 Giovanni Porcari <giovanni.porc...@softwell.it>:

> Non sarebbe più semplice dire da subito che ci sono oggetti mutabili (le 
> scatole) e oggetti immutabili ?

Qui faccio io il pedante... in Python uno dei problemi piu' grossi e'
a mio avviso capire che le variabili sono in prativa l'unico concetto
del modello che non e' un oggetto. In Python tutto e' un oggetto e
tutto quello che e' un oggetto lo puoi manipolare al solito modo.
L'unica cosa che *veramente* non e' un oggetto sono i *nomi* degli
oggetti, ovvero le variabili.

Certo, riesci a tirarle dentro nel giocattolo passando per opportuni
dizionari... ma di per se non sono oggetti.

> Se la strisciolina 'Pieruccio va al mercato' non ha altri fili collegati 
> allora la butto nel cestino.

Posto che la metafora del filo non mi dispiace affatto (e ricorda
quella del dito), anche le scatole funzionano.

Tu hai una scatola e ci metti dentro un oggetto. In qualunque momento
puoi mettere un altro oggetto nella scatola. Accedi le scatole con un
nome. E quando hai bisogno di un oggetto lo devi andare a pescare in
qualche scatola.

Ok. Poi il vantaggio del filo e' che e' molto piu' facile spiegare
l'aliasing che con le scatole.

> Lo so che è un'esempio idiota ma salverebbe molti dalla convinzione che le 
> variabili python siano come quelle
> FORTRAN o COBOL o PASCAL etc etc.

Beh, ma nel caso di questi linguaggi non direi che la metafora delle
scatole funziona...
La metafora delle scatole funziona bene con i linguaggi "reference based".

-- 
.
..: -enrico-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a