[Python] (senza oggetto)

enrico franchi enrico.franchi a gmail.com
Mar 24 Apr 2012 14:27:31 CEST


2012/4/24 Giovanni Porcari <giovanni.porcari a 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-


Maggiori informazioni sulla lista Python