[Python] Richiesta chiarimento su SyntaxWarning

Giovanni Porcari giovanni.porcari a softwell.it
Lun 13 Gen 2020 09:09:03 CET



> Il giorno 9 gen 2020, alle ore 20:15, Marco Beri <marcoberi a gmail.com> ha scritto:
> 
> 
> 
> Il gio 9 gen 2020, 19:57 Carpediem <i.carpediem a tiscali.it> ha scritto:
> Ciao a tutti,
> 
> ho aggiornato la mia versione di python dalla 3.6 alla 3.8 dopodichè ho 
> avviato un mio programmino che ha finora sempre girato senza indicare 
> alcun errore e ora invece mi segnala su sette righe di comando (tutte 
> grossomodo dello stesso tipo) il seguente avviso:
> 
> SyntaxWarning: "is not" with a literal. Did you mean "!="?
>    if richiesta_proseguimento_partita is not "s" and 
> richiesta_proseguimento_partita is not "S" and 
> richiesta_proseguimento_partita is not "n" and 
> richiesta_proseguimento_partita is not "N":
> 
> Il programma, se eseguito, si comporta comunque come in precedenza ma 
> non comprendo per quale motivo ora vengano evidenziate tali righe di 
> comando. Inoltre, la domanda è: che differenza c'è tra "!="  e "is not" ?
> 
> 
> Le cose cambiano tra una versione e l'altra e le maglie si stringono.
> 
> https://www.tutorialspoint.com/What-is-difference-in-Python-operators-and-is-not


Marco ho fatto una prova che non mi riesco a spiegare: tu ne hai una ragione ?

(python 3.7.5)
>> a='xy'
>>> b='xy'
>>> a is b
True

>>> a='x y'
>>> b='x y'
>>> a is b
False

>>> a='x_y'
>>> b='x_y'
>>> a is b
True
>>> 

Hai spiegazioni ?

Ciao

G

> 
> Ciao.
> Marco.
> 
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python