H伙计们
愚蠢的问题,但令我困惑的是print test
print test == "None"
在终端打印出来
None
False
你可以看到test是None,但检查它们是否相同会返回false
为什么会这样?
答案 0 :(得分:1)
试试这个:
print test
print test == "None"
print test == None
print type(test)
答案 1 :(得分:1)
我不认为您已将字符串"None"
分配给test
。 test
可能是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可以为您提供更多帮助。