Python真的包含布尔值吗?我知道你可以这样做:
checker = 1
if checker:
#dostuff
但我很学究,喜欢看到Java中的布尔值。例如:
Boolean checker;
if (someDecision)
{
checker = true;
}
if(checker)
{
//some stuff
}
在Python中有布尔值这样的东西吗?我似乎在文档中找不到任何类似的东西。
发布于 2009-11-17 12:51:14
checker = None
if some_decision:
checker = True
if checker:
# some stuff
编辑
欲了解更多信息,请访问:http://docs.python.org/library/functions.html#bool
您的代码也可以工作,因为在必要时会将1
转换为True
。实际上,Python很长一段时间都没有布尔类型(就像在旧的C中一样),一些程序员仍然使用整数而不是布尔值。
发布于 2009-11-17 12:54:43
布尔型内建函数大写:True
和False
。
还请注意,您可以将checker = bool(some_decision)
作为一种简写-- bool
将只返回True
或False
。
为了便于将来参考,根据这些函数的结果,classes defining __nonzero__
or __len__
将是True
或False
,但实际上所有其他对象的布尔结果都是True
(除了None
对象、空序列和数字零)。
发布于 2009-11-17 13:02:58
True
...显然还有False
。
否则,None
的计算结果为False,整数0
和浮点型0.0
也是如此(尽管我不会使用这样的浮点型)。此外,空列表[]
、空元组()
和空字符串''
或""
的计算结果为False。
使用函数bool()
自己尝试一下
bool([])
bool(['a value'])
bool('')
bool('A string')
bool(True) # ;-)
bool(False)
bool(0)
bool(None)
bool(0.0)
bool(1)
等等。
https://stackoverflow.com/questions/1748641
复制