Ceci est pour Python 2.6.Est-ce un bug? Les variables sont des références identiques à la même chaîne dans cet exemple (Python)
Je ne pouvais pas comprendre pourquoi et b sont identiques:
>>> a = "some_string"
>>> b = "some_string"
>>> a is b
True
Mais s'il y a un espace dans la chaîne, ils ne sont pas:
>>> a = "some string"
>>> b = "some string"
>>> a is b
False
Si ce comportement est normal, quelqu'un pourrait expliquer s'il vous plaît ce qui se passe.
Éditer: Clause de non-responsabilité! Ceci n'est pas utilisé pour vérifier l'égalité. En fait, je voulais expliquer à quelqu'un d'autre que «c'est» est seulement pour vérifier l'identité, pas l'égalité. Et de la documentation j'avais compris que les références créées de cette manière seraient différentes, qu'une nouvelle chaîne serait créée à chaque fois. Le tout premier exemple que j'ai donné m'a ébranlé quand je ne pouvais pas prouver mon propre point!
Edit: Je comprends que cela est pas un bug, et interné était un nouveau concept pour moi. This semble être une bonne explication.
voir http: // stackoverflow.com/questions/306313/python-is-operator-se comporte-de façon inattendue-avec-entiers – cobbal
"Bug?" Les questions m'énervent vraiment ... mais je suppose que ce n'est pas une raison pour marquer une question ... est-ce? – MattH
@cobbal: C'est légèrement différent de ce qui se passe ici. –