【发布时间】:2023-04-09 11:45:02
【问题描述】:
在 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
但是如何打印变量的 True / False 值?目前,我正在这样做:
print (not not a)
但这看起来有点不雅。有首选方式吗?
【问题讨论】:
-
bool是要走的路,但我喜欢not nothack :) -
@CraigBurgler --
not nothack 在 Javascript 中被大量使用......!!whatever是一个非常标准的成语,用于“给我任何东西的'布尔值'”。不过,我从未在 Python 中见过它 :-) -
还有
True if a else False...但使用bool :) -
@mgilson:在你想对全局查找和函数调用进行微优化的情况下,它可能会有点用处,因为
not not xis a bit faster thanbool(x),但我实际上从未在实践中见过它。这种微优化很重要的情况非常罕见。
标签: python python-3.x boolean output