Skip to main content
 首页 » 编程设计

python之如何在交互式 shell 中检查表达式的逻辑值

2025年05月04日8落叶

有时我想检查一个表达式的逻辑值,所以我在 Python(或 IPython)中输入它并得到结果:

>>> a==3 
True 

但在其他情况下它不会那样工作(这里的字符串是 None):

>>> string 
>>> 

所以我这样检查逻辑值:

>>> if string: print('True') 
... 
>>> 

是否有更短的方法来检查表达式的逻辑值? 任何返回 True 或 False 的函数都将在 if 条件下进行评估?

请您参考如下方法:

除了生成None 的表达式外,所有表达式都会被回显。

如果您执行的表达式不会导致数据被回显,那么您可能得到一个 None 结果。您可以显式测试 None:

>>> string = None 
>>> string is None 
True 

使用 is None 产生非 None 结果。

如果您只想测试表达式的 bool 值,请使用bool() function ;它将返回符合标准 truth value testing rules 的结果:

>>> string = None 
>>> bool(string) 
False 

同样,这保证不会是 None 并被回显。但是,您无法通过这种方式区分 None 和其他 false-y 值。例如,空字符串 '' 也会导致 False。

另一种方法是显式打印所有表达式结果,使用 repr() function :

>>> print(repr(string)) 
None 

这会产生与回显完全相同的输出,唯一的异常(exception)是 None 也被打印出来。