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