<分区>
当我阅读“学习 Python”时,我对使用 is
运算符感到困惑。
书中试图将其解释为对同一内存地址的测试(A is B
,如果True
,则表示A和B在同一内存地址)但在下面的案例中,这种解释似乎不成立。谁能帮我理解这个功能?
s2='ufysdjkhflakjhsdjkfhasdhfoqwhefuhalskdjfhwuioehfjkasdhfljahsdjwade'
s1='ufysdjkhflakjhsdjkfhasdhfoqwhefuhalskdjfhwuioehfjkasdhfljahsdjwade'
s1==s2,s1 is s2
(True, True)
s1='flashmanfdsafsdfasdfsdffgj;djg;alkjdfgl;kajdfl;gjkla;dfjg;lakdfj;'
s2='flashmanfdsafsdfasdfsdffgj;djg;alkjdfgl;kajdfl;gjkla;dfjg;lakdfj;'
s1==s2,s1 is s2
(True, False)
s2='ufysdjkhflakjhsdjkfhasdhfoqwhefuhalskdjfhwuioehfjkasdhfljahsdjwade'
s1='ufysdjkhflakjhsdjkfhasdhfoqwhefuhalskdjfhwuioehfjkasdhfljahsdjwade'
s1==s2,s1 is s2
(True, True)
s1=';;'
s2=';;'
s1==s2,s1 is s2
(True, False)
PS:字符串在内存中以何种格式存在?