如何打印变量的真值?

Tim*_*Tim 3 python boolean python-3.x output

在Python中,变量具有基于其内容的真值.例如:

>>> def a(x):
...     if x:
...         print (True)
... 
>>> a('')
>>> a(0)
>>> a('a')
True
>>> 
>>> a([])
>>> a([1])
True
>>> a([None])
True
>>> a([0])
True
Run Code Online (Sandbox Code Playgroud)

我也知道我可以在没有if运算符的情况下打印比较的真值:

>>> print (1==1)
True
>>> print (1<5)
True
>>> print (5<1)
False
Run Code Online (Sandbox Code Playgroud)

但是如何打印变量的True/ False值?目前,我这样做:

print (not not a)
Run Code Online (Sandbox Code Playgroud)

但这看起来有点不雅观.有首选方式吗?

mgi*_*son 5

使用内置bool类型.

print(bool(a))
Run Code Online (Sandbox Code Playgroud)

REPL的一些例子:

>>> print(bool(''))
False
>>> print(bool('a'))
True
>>> print(bool([]))
False
Run Code Online (Sandbox Code Playgroud)