[Python] Richiesta chiarimento su SyntaxWarning

Giovanni Porcari giovanni.porcari a softwell.it
Lun 13 Gen 2020 11:45:28 CET



> Il giorno 13 gen 2020, alle ore 09:35, ㎝ <cm a python.it> ha scritto:
> 
> Il giorno lun 13 gen 2020 alle ore 09:09 Giovanni Porcari
> <giovanni.porcari a softwell.it> ha scritto:
>> 
>> 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 ?
> 
> Se la stringa segue le regole sintattiche di un identificatore, viene
> intern()ata automaticamente.
> 


Non sapevo che le strinche ammesse come identificatori fossero auto sys.intern().

Però se fai:
>>> a='cosi'
>>> b='cosi'
>>> a is b
True

>>> a='così'
>>> b='così'
>>> a is b
False

>>> così=99
>>> print (così)
99

Il che mi farebbe pensare che seppure in Python3 'così' sia un identificatore valido che però non viene intern()at0.

Misteri pythonici!

G
> ```
>>>> import sys
>>>> a = sys.intern("a b")
>>>> b = sys.intern("a b")
>>>> a is b
> True
> ```
> 
> 👋
>> 
> --
> !!!! THE 🍺-WARE LICENSE (Revision ㊷):
>    <㎝@🐍.it> wrote this 📧. As long as you retain this notice you can
>    do whatever you want with this stuff. If we meet some day, and you
>    think this stuff is worth it, you can buy me a 🍺 in return. — ㎝
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python