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

0 投票
4 回答
2429 浏览
提问于 2025-04-20 10:09

大家好

这是个傻问题,但让我有点困惑

print test
print test == "None"

在终端里,这段代码输出了

None
False

你可以看到,test的值是None,但检查它们是否相等的结果却是假的

这是为什么呢?

4 个回答

1

这是因为 None 不是一个字符串,它属于 NoneType 类型。可以把它和其他语言中的 'null' 做个比较。值为 "None" 的字符串和 None 是不一样的。

也许 文档 能给你更多帮助。

1

我觉得你并没有把字符串 "None" 赋值给 test。很可能 test 是一种叫做 NoneType 的类型,所以你应该这样来检查它:

print test is None

这个结果和 test == None 是一样的,但 PEP8 规范建议你用关键字 is 来判断像 None 这样的单例对象是否相等,而不是用 ==

1

试试这个:

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

在Python中,None是一种数据类型,所以在你可以使用数字或字符串的地方,也可以使用None。

在你的情况下,要检查它是否是None,只需要去掉引号:

print test == None

不过你已经掌握了检查两个字符串是否相同的原则:

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

结果是:

Hello
True

撰写回答