如何在交互式 shell 中检查表达式的逻辑值?
How to check logical value of an expression in the interactive shell?
有时我想检查一个表达式的逻辑值,所以我输入Python(或IPython)并得到结果:
>>> a==3
True
但在其他情况下它不会那样工作(这里的字符串是 None):
>>> string
>>>
所以我这样检查逻辑值:
>>> if string: print('True')
...
>>>
有没有更简单的方法来检查表达式的逻辑值?
returns True 或 False 的任何函数都将在 if[=25= 中以相同的方式求值]-条件?
除产生 None
的表达式外,所有表达式 都被回显。
如果您执行的表达式不会导致数据被回显,那么您可能会得到 None
结果。您可以显式测试 None
:
>>> string = None
>>> string is None
True
使用 is None
产生非 None
结果。
如果您只想测试表达式的 布尔值 值,请使用 bool()
function; it'll return a result following the standard truth value testing rules:
>>> string = None
>>> bool(string)
False
同样,这保证不会被 None
回显。但是,您无法通过这种方式区分 None
和其他 false-y 值。例如,空字符串 ''
也会导致 False
。
另一种方法是显式打印所有表达式结果,使用 repr()
function:
>>> print(repr(string))
None
这会产生与回显完全相同的输出,唯一的例外是 None
也被打印出来。
Is there a shorter way for checking the logical value of an
expression?
是的,这是 bool()
函数:
>>> string = None
>>> bool(string)
False
是的,直接从表达式创建一个布尔值,它总是 True
或 False
:
>>> bool(string)
False
string is None
或 string is not None
将 return 您需要的布尔值。
>>> string = None
>>> string is None
>>> True
有时我想检查一个表达式的逻辑值,所以我输入Python(或IPython)并得到结果:
>>> a==3
True
但在其他情况下它不会那样工作(这里的字符串是 None):
>>> string
>>>
所以我这样检查逻辑值:
>>> if string: print('True')
...
>>>
有没有更简单的方法来检查表达式的逻辑值? returns True 或 False 的任何函数都将在 if[=25= 中以相同的方式求值]-条件?
除产生 None
的表达式外,所有表达式 都被回显。
如果您执行的表达式不会导致数据被回显,那么您可能会得到 None
结果。您可以显式测试 None
:
>>> string = None
>>> string is None
True
使用 is None
产生非 None
结果。
如果您只想测试表达式的 布尔值 值,请使用 bool()
function; it'll return a result following the standard truth value testing rules:
>>> string = None
>>> bool(string)
False
同样,这保证不会被 None
回显。但是,您无法通过这种方式区分 None
和其他 false-y 值。例如,空字符串 ''
也会导致 False
。
另一种方法是显式打印所有表达式结果,使用 repr()
function:
>>> print(repr(string))
None
这会产生与回显完全相同的输出,唯一的例外是 None
也被打印出来。
Is there a shorter way for checking the logical value of an expression?
是的,这是 bool()
函数:
>>> string = None
>>> bool(string)
False
是的,直接从表达式创建一个布尔值,它总是 True
或 False
:
>>> bool(string)
False
string is None
或 string is not None
将 return 您需要的布尔值。
>>> string = None
>>> string is None
>>> True