2009/6/27 Francesco Ciracì
> Manlio Perillo ha scritto:
> > Non hai chiaro come funzionano le "variabili" in Python.
> > http://docs.python.org/reference/executionmodel.html#naming-and-binding
> >
> > Le variabili sono semplici referenze ad oggetti; sono delle "etichette"
> > che permettono di ri
Manlio Perillo ha scritto:
> Esatto.
> Ma io sostituirei "variabile" con "oggetto".
>
>
True =)
> La risposta è semplice: `a` e `b` rappresentano lo stesso oggetto.
> Questa è la conseguenza di una ottimizzazione di CPython (la
> implementazione ufficiale di Python): gli interi "piccoli" sono
>
2009/6/27 Manlio Perillo
>>> a =
> >>> b =
> >>> a is b
> False
>
> >>> a = 10
> >>> b = 10
> >>> a is b
> True
Beh, questo esempio e` davvero infastidente...
Ne aggiungo uno mio altrettanto "cattivo":
>>> a="123"
>>> b="123"
>>> a is b
True
>>> a=a+"4"
>>> b=b+"4"
>>> a is b
False
Francesco Ciracì ha scritto:
> [...]
> Is *dovrebbe*, a quanto ne so, essere un operatore di identità.
> Cioè restituire True se i due operandi sono la stessa variabile, non se
> hanno solo stesso valore.
Esatto.
Ma io sostituirei "variabile" con "oggetto".
> Cioè:
> >>> a is b
> Dovrebbe esser
Salve a tutti,
programmo in Python da diverso tempo, dalla versione 2.2 per la verità,
con divertimento e profitto.
Oggi mi sono accorto di non avere per niente chiaro il funzionamento
dell'operatore is.
Is *dovrebbe*, a quanto ne so, essere un operatore di identità.
Cioè restituire True se i du