Ah, #python â˜ș

>>> a=15
>>> b=15
>>> a is b
True
>>> a=300
>>> b=300
>>> a is b
False
>>> a=300;b=300
>>> a is b
True

(Bref, n’utilisez « is Â» que si vous savez ce que vous faites. Sinon, utilisez « == Â».)

Follow

@MartinShadok "is" compare que l'ID interne de deux variables est identique. Le fait que les petits nombres ont gĂ©nĂ©ralement le mĂȘme ID est un dĂ©tail d'implĂ©mentation. DĂ©monstration:

· · 1 · 0 · 2

@kindly Je sais bien 😊 De mĂ©moire, c'est pour les nombres entre -5 et 255.

Le problĂšme, c'est que ça complique inutilement la spĂ©cification. Je ne suis pas d'accord qu'un choix d'implĂ©mentation qui change le rĂ©sultat final soit un simple dĂ©tail. À ce niveau lĂ , tout JavaScript c'est du dĂ©tail 😕

Il y a bien entendu moyen de dire que is n'est pas spĂ©cifiĂ©, sauf dans le cas oĂč il renvoit True, et alors les deux objets sont identiques (et aucune garantie lorsque False est renvoyĂ©), sauf que la communautĂ© a l'air d'ĂȘtre assez attachĂ©e aux valeurs de transition 😐

@kindly Mais le fait que les objets littĂ©raux soient allouĂ©s par ligne est pour moi assez extraordinaire. Ça complexifie toutes les optimisations sur plusieurs lignes, quoi 😕 (Contexte : je m'intĂ©resse aux optimisations centifiĂ©es correctes, donc avec un trĂšs haut niveau de garantie.)

Sign in to participate in the conversation
Maly

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!