如何检查两个字符串是否相同

时间:2014-09-08 09:20:44

标签: python

H伙计们

愚蠢的问题,但令我困惑的是

print test
print test == "None"

在终端打印出来

None
False

你可以看到test是None,但检查它们是否相同会返回false

为什么会这样?

4 个答案:

答案 0 :(得分:1)

试试这个:

print test
print test == "None"
print test == None
print type(test)

答案 1 :(得分:1)

我不认为您已将字符串"None"分配给testtest可能是NoneType,所以您应该像这样测试一下:

print test is None

结果与test == None相同,但PEP8表示您应该使用关键字is代替==来测试单件对象的相等性,例如{ {1}}。

答案 2 :(得分:1)

在python中,None是一种数据类型,所以你可以拥有一个数字或一个字符串,你也可以拥有None。

在您的情况下,要检查None是否只删除引号:

print test == None

但是如果两个字符串相同,你就有了测试原则:

test = "Hello"
print test
print test == "Hello"

给出:

Hello
True

答案 3 :(得分:1)

这是因为None不是字符串,而是NoneType类型。将其与其他语言进行比较' null'。值为"None"的字符串与None不同。

也许documentation可以为您提供更多帮助。