首页 > 解决方案 > 即使 if 语句为假,我的 python 代码仍然运行

问题描述

bool_value=True

if (not bool_value==False):
  print("Hello world")

我不知道为什么它仍然打印 hello world 即使我使用 not 关键字将 bool_value 设置为 false 。当条件为 false 时它不应该打印任何内容对吗?

标签: pythonif-statementboolean

解决方案


not bool_value==False

评估为not (bool_value == False)。因为bool_value是真的,所以它变成(按顺序):

not (bool_value == False)
not (True == False)
not (False)
True

如果您简单地输入一个,您也可以建立这个:

print(not bool_value==False)

在你的if陈述之前。

所以,不,条件成立(a)。如果只想在条件变量为假时做某事,正确的方法很简单:

if not conditional_variable:
    do_something()

(a)或者,与您原来的表达方式类似,“不是不假的”:-)


推荐阅读