Giovanni Porcari wrote:
> Non è ACID e dovrebbe fare un bel rollback... :D
E per fortuna non è neanche BASIC. ;-)
--
Nicola Larosa - http://www.tekNico.net/
Now it’s time for phase II, where we use a hundred or so copies of the
Macx-1 to build the Cosmic Background Bufferbloat Detector and fix
Il giorno 04/gen/2013, alle ore 15:02, Davide Alberani ha
scritto:
> 2013/1/4 Marco Beri :
>>
>> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo? Si
>> accettano tentativi :-)
>
> Non è un glitch. Prima estende la lista,
> poi fa un assegnamento ad un elemento
> di u
a naso avrei detto che questo avrebbe dato lo stesso problema
>>> T = ([],)
>>> T[0].__iadd__([3])
[3]
>>> T = ([],)
>>> T[0] += [3]
Traceback (most recent call last):
File "", line 1, in
T[0] += [3]
TypeError: 'tuple' object does not support item assignment
http://docs.python.org/2/refe
2013/1/4 Marco Beri :
>
> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo? Si
> accettano tentativi :-)
Non è un glitch. Prima estende la lista,
poi fa un assegnamento ad un elemento
di una tupla. Garantito che te lo prendi
nei denti... ma intanto l'estensione alla
lista
2013/1/4 Nadir Sampaoli
> Delle due, una:
> o la lista viene modificata, mentre non viene modificata la tupla in
> sè (nel senso che le modifiche alla lista non riguardano l'immutabilità
> della tupla), e quindi non ci sono eccezioni;
> oppure viene sì sollevata l'eccezione, ma allora la
Ciao a tutti,
-- Messaggio inoltrato --
> From: Marco Beri
> To: Discussioni generali sul linguaggio Python
> Cc:
> Date: Fri, 4 Jan 2013 15:01:12 +0100
> Chiaro, ha perfettamente senso una volta che ci ragioni. Ma di getto fa
> specie...
>
Per me non ha molto senso; potreste c
2013/1/4 Andrea Francia
> Ci provo:
> ... stack trace di un IndexError
>
ops... avevo letto una "x" di troppo "x[3]" invece di "[3] :)
Ecco un altro buon motivo per continuare ad usare i test, é troppo facile
per me farmi sfuggire cose del genere :)
Ciao
--
Andrea Francia http://andreafrancia
2013/1/4 Marco Beri
> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo?
> Si accettano tentativi :-)
>
> x = ([],)
> try:
> x[0] += [3]
> except TypeError:
> print "+= raised TypeError"
> print "x =", x
>
>
Ci provo:
... stack trace di un IndexError
x =([],)
Ciao
On 2013-01-04 15:07, Andrea Ambu wrote:
OK questo e` _almeno_ controintuitivo.
Sì, lo è, è una piccola verruca :)
se sostituisci "x[0]" con "a=x[0]; a" oppure sostituendo la riga con
+= con
"x[0].__iadd__([3])" non lancia l'eccezione e fa quello che mi
aspettavo
facesse il codice originale.
Sinceramente non l'ho compreso!! :)
Lorenzo Macchiavelli
web designer
Il giorno 04 gennaio 2013 15:09, Daniele Varrazzo ha
scritto:
> On 2013-01-04 14:54, Marco Beri wrote:
>
>> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo?
>> Si accettano tentativi :-)
>>
>
> Cred
On 2013-01-04 14:54, Marco Beri wrote:
Chi indovina cosa stampa l'ultima riga di questo snippet senza
eseguirlo?
Si accettano tentativi :-)
Credo di averlo letto, nominato come uno strano quirk di quando
aggiunsero gli operatori inplace (Python 2.0 o 2.1...) La tupla
bestemmia perché non acc
2013/1/4 Marco Beri
Beh, a me ha fatto specie vedere che solleva l'eccezione *e* assegna il
> valore.
>
> A te no? :-)
>
*meme warning*
Come molti qui dentro, ho scritto abbastanza javascript da non stupirmi
piu' di nulla.
___
Python mailing list
Pytho
OK questo e` _almeno_ controintuitivo.
se sostituisci "x[0]" con "a=x[0]; a" oppure sostituendo la riga con += con
"x[0].__iadd__([3])" non lancia l'eccezione e fa quello che mi aspettavo
facesse il codice originale.
Cosa mi sto perdendo?
2013/1/4 Marco Beri
> Chi indovina cosa stampa l'ultima
2013/1/4 Marco Beri :
> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo? Si
> accettano tentativi :-)
Tentando di modificare la tupla sarei per un TypeError
> Ciao.
> Marco.
ciao
--
Gian Mario Tagliaretti
GNOME Foundation member
gia...@gnome.org
_
2013/1/4 Marco Mariani
> Credo di capire. Il += viene eseguito in due passi, di cui il secondo
> fallisce per TypeError
>
Esatto! :)
http://emptysquare.net/blog/python-increment-is-weird-part-ii/
Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
_
2013/1/4 Marco Mariani
> C'e' qualche motivo per cui non dovrebbe stampare ([3],) ?
>
Beh, a me ha fatto specie vedere che solleva l'eccezione *e* assegna il
valore.
A te no? :-)
Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
__
Credo di capire. Il += viene eseguito in due passi, di cui il secondo
fallisce per TypeError
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
C'e' qualche motivo per cui non dovrebbe stampare ([3],) ?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
2013/1/4 Lorenzo Macchiavelli
> Non ho resistito!! :)
>
Strano, vero?
Chiaro, ha perfettamente senso una volta che ci ragioni. Ma di getto fa
specie...
Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Pyth
Non ho resistito!! :)
Lorenzo Macchiavelli
web designer
Il giorno 04 gennaio 2013 14:54, Marco Beri ha
scritto:
> Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo?
> Si accettano tentativi :-)
>
> x = ([],)
> try:
> x[0] += [3]
> except TypeError:
> print "+= r
Chi indovina cosa stampa l'ultima riga di questo snippet senza eseguirlo?
Si accettano tentativi :-)
x = ([],)
try:
x[0] += [3]
except TypeError:
print "+= raised TypeError"
print "x =", x
Ciao.
Marco.
--
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
21 matches
Mail list logo