pablogsal/python-horror-show

More about hidden memory

noviluni opened this issue · 2 comments

That's not a issue with the project but a question for you about a snippet that could be in the README.

I know another case which I think is related with your "hidden memory" snippet, but I can't understand why it happens.

>>> x = 'a'*20
>>> y = 'a'*20
>>> x is y
True

>>> x = 'a'*21
>>> y = 'a'*21
>>> x is y
False

And then, if we create directly a string with more than 20 equals characters:

>>> x = 'aaaaaaaaaaaaaaaaaaaaaaaaa'
>>> y = 'aaaaaaaaaaaaaaaaaaaaaaaaa'
>>> x is y
True

It seems that they are identical.

Do you know why it happens?

Thanks in advance!

@noviluni I hope this answer and comment from SO will answer your question.

hey, yeah, really interesting, thanks @abdulniyaspm!