检查空字符串时,“ == False”和“ is not”之间有区别吗?
其他地方读到了,最优雅的方法来检查Python中的空字符串(例如,假设它是一个名为的字符串response
)是:
if not response:
# do some stuff
原因是字符串可以评估为布尔对象。
所以我的问题是,下面的代码说同样的话吗?
if response == False:
# do some stuff
-
如前所述,存在区别。
该
not response
如果检查bool(response) == False
或失败,如果len(response) == 0
因此它是检查的最佳选择,如果事情是空的,None
,0
或False
。请参阅python文档,了解什么是“
Falsy”。另一个变体仅检查是否,
response == False
并且仅 当和时才是 这种情况response is False
。但是一个空字符串is not False
!