如何在区分None和False时确定变量是None,False还是True

Lio*_*gen 2 python if-statement boolean

假设我们有以下代码来检测文档的星级.如果星级评分为50.0,则表示使用stars_indicator = True,我们希望在这种情况下"做某事",如果星级评分为10.0,则表示使用stars_indicator = False并且我们想'做'在这种情况下,别的东西.

stars_indicator = sentiment_indicator = None
if document[stars] == 50.:
   stars_indicator = True
elif document[stars] == 10.:
   stars_indicator = False
Run Code Online (Sandbox Code Playgroud)

我们如何检查我们是否应该"做某事"或"做别的事情"?

检查它是否真实很简单

if stars_indicator:
   # do something
Run Code Online (Sandbox Code Playgroud)

检查它是否为假或无效的简单方法

if not stars_indicator:
   # do something else
Run Code Online (Sandbox Code Playgroud)

但是这样if条件就不会区分这两个选项,如果stars_indicator为False或None,它们会"做其他事情".

Dan*_*man 7

更好的方法是使用以下方法显式检查False或None is:

if stars_indicator is None:
Run Code Online (Sandbox Code Playgroud)