那么,让我们来看看我们所知道的:
is
运算符比较身份,而不是值,而不是==
。- Python 实习生字符串文字
"hello" is "hello"
,True
.
所以我不明白的是这种行为:
>>>'h' is input()
h
True
>>>'hj' is input()
hj
False
单个字符被视为相同,即使它们不是两个字符串文字,而双字符字符串给了我我期望的结果,即不相同的结果。
由于 input() 函数正在动态创建字符串,因此结果没有被实习,这就是为什么'hj'
和动态创建'hj'
的不完全相同的原因。但是为什么都是'h'
和动态的'h'
相同呢?
这是否意味着 Python 缓存/实习所有长度为 1 的字符串?