Python 如何打印变量的真值?

Python 如何打印变量的真值?,python,python-3.x,boolean,output,Python,Python 3.x,Boolean,Output,在Python中,变量具有基于其内容的真实值。例如: >>> def a(x): ... if x: ... print (True) ... >>> a('') >>> a(0) >>> a('a') True >>> >>> a([]) >>> a([1]) True >>> a([None]) True >>

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

>>> def a(x):
...     if x:
...         print (True)
... 
>>> a('')
>>> a(0)
>>> a('a')
True
>>> 
>>> a([])
>>> a([1])
True
>>> a([None])
True
>>> a([0])
True
我还知道,我可以在根本不使用if运算符的情况下打印比较的真实值:

>>> print (1==1)
True
>>> print (1<5)
True
>>> print (5<1)
False

但这看起来有点不雅。是否有首选方法?

使用内置的
bool
类型

print(bool(a))
REPL中的一些示例:

>>> print(bool(''))
False
>>> print(bool('a'))
True
>>> print(bool([]))
False

美好的变量固有的真实性有什么名字吗?这样我下次可以更容易地搜索吗?@Tim--hmm。。。没有“名字”真正出现在我的脑海里。在这种情况下,我可能会问Google如何从某个实例构造布尔值,我也很好奇。如果您找到它,请重命名问题。@Tim根据
内置类型
doc:@CraigBurgler的第一节,名称可能是
真值
,在这种情况下,是相关的,但不是重复的-因为它没有要求打印它。把它放在侧边栏。
bool
是一个不错的选择,但我喜欢
not
hack:)@CraigBurgler--
not
hack在Javascript中被大量使用<代码>!!whatever是一个相当标准的成语,用于“给我任何东西的‘布尔性’”。我从未在Python中见过它:-)如果一个else为False,那么也有
True
。。。但是使用bool:)@mgilson:在需要对全局查找和函数调用进行微优化的情况下,它可能会稍微有用,因为,但我在实践中从未见过它。这种微观优化很重要的情况非常罕见。
>>> print(bool(''))
False
>>> print(bool('a'))
True
>>> print(bool([]))
False