我有两个我比较的字符串,但我没有得到我想要的结果。我是这样做的,使用Python 2.7:
str1 = '0000644'
str2 = '0000644'
if str1 == str2:
print 'true!'
else:
print 'false'
我也尝试过is
比较:
if str1 is str2:
print 'true'
else:
print 'false'
有人可以解释为什么我这样做时打印不正确吗?我来自C#,如果你这样做,你应该打印真正的价值。
答案 0 :(得分:3)
您发布的代码不是有效的Python。
这样做:
str1 = '0000644'
str2 = '0000644'
if str1 == str2:
print True
else:
print False
详细说明:
True
和False
(不确定为什么会有感叹号)else
需要以冒号结束编辑:我的回答是基于OP的原始代码,这不是有效的Python。如果有人在之后将代码更改为有效代码,我将无法提供帮助。
答案 1 :(得分:0)
is
将返回True
,如果变量引用的对象相等,则返回==
。
>>> a = [17,27,37]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:] #shallow copy of a
>>> b is a
False
>>> b == a
True
答案 2 :(得分:-2)
在Python中,' true'并且' false'布尔值需要在' T'和' F'分别。此外,在打印时,无论您想要打印什么,都需要用双引号或单引号括起来。