简单表达式中的布尔结果错误

the*_*yup -1 python

我在python中的这个布尔值得到一个奇怪的结果.我一直得到错误的结果.

string = '94070'
string[0:2] is '95' or string[0:2] is '94'
Run Code Online (Sandbox Code Playgroud)

返回False,但是当我在值'94'中进行硬编码时,它会起作用

'94' is '95' or '94' is '94'
Run Code Online (Sandbox Code Playgroud)

返回True.我检查了数据类型,它们都是'str'类型,所以我不确定这里发生了什么.

Gre*_*ill 5

==而不是is.在Python中,is运算符执行对象标识检查.在==操作者确认两个对象(其可以是不同的对象),以查看它们是否包含相同的内容.