python布尔值使用_如何在Python中使用布尔值?

Python实际包含布尔值吗? 我知道您可以:

checker = 1

if checker:

#dostuff

但是我相当学究,喜欢在Java中看到布尔值。 例如:

Boolean checker;

if (someDecision)

{

checker = true;

}

if(checker)

{

//some stuff

}

Python中是否存在布尔值之类的东西? 我似乎在文档中找不到类似的内容。

记住...创建变量时不需要声明类型。 只要checker = False就足够了。

@Dominic Bou-Samra:"您不需要声明类型"吗? 那不是很正确。 我认为您应该说"您不可能为变量声明类型"。

@ S.Lott"您可能无法声明变量的类型" ...仍然不正确,因为可以强制转换some_var = int("1234") ...该行显式设置了some_var => int

checker = None

if some_decision:

checker = True

if checker:

# some stuff

[编辑]

有关更多信息:http://docs.python.org/library/functions.html#bool

您的代码也可以工作,因为在必要时将1转换为True。

实际上,很长一段时间以来,Python都没有布尔类型(就像在旧的C语言中一样),并且某些程序员仍然使用整数而不是布尔值。

通常使用checker =(some_decision)(例如checker =(a 这个代码片段有点令人误解...在测试之前,您仍然需要定义"检查器"。虽然OP较早定义了它,但在您的示例中checker = None是绝对必要的,否则您将得到UnboundLocalError

Python布尔值是整数。 True和False是对具有覆盖范围__str__和__repr__的扩展int对象的引用。

Python布尔值不是整数; 1 is not True,但1 == True。

@BallpointBen:它们通常是int类型实例的整数,如isinstance(True, int)所示。

在第一行中,checker = False比使用checker = None更合适

布尔内建函数大写:True和False。

还请注意,您可以将checker = bool(some_decision)用作速记-bool只会返回True或False。

很高兴知道供将来参考,根据这些函数的结果,定义__nonzero__或__len__的类将是True或False,但实际上每个其他对象的布尔结果将是True(除了None对象,空序列和数字零)。

非常感谢您的见解。当公众投票转向了其他答案时,我授予巴斯蒂安"可接受答案"。但是,您的帮助最大! :)

bravado:不接受您认为最有帮助的答案有什么意义?如果更多地支持另一个答案,则完全不相关。

大众投票也有这个答案。考虑更改您的投票。

True ...和False显然是。

否则,None的计算结果为False,整数0以及浮点数0.0也会计算为False(尽管我不会那样使用浮点数)。

同样,空列表[],空tuplet ()和空字符串''或""的计算结果为False。

使用功能bool()自己尝试:

bool([])

bool(['a value'])

bool('')

bool('A string')

bool(True)  # ;-)

bool(False)

bool(0)

bool(None)

bool(0.0)

bool(1)

等等..

布尔类型在文档中定义:

http://docs.python.org/library/stdtypes.html#boolean-values

引用自doc:

Boolean values are the two constant objects False and True. They are used to represent truth values (although other values can also be considered false or true). In numeric contexts (for example when used as the argument to an arithmetic operator), they behave like the integers 0 and 1, respectively. The built-in function bool() can be used to cast any value to a Boolean, if the value can be interpreted as a truth value (see section Truth Value Testing above).

They are written as False and True, respectively.

因此,在Java代码中删除括号,将True更改为True,您就可以了:)

是的,有一个bool数据类型(它继承自int并且只有两个值:True和False)。

但Python的每个对象都有boolean-able概念,在调用函数bool([x])时会使用该概念。

查看更多:object.nonzero和python中的布尔值对象。

x = bool(0)#否&& x = bool(1)#是

与Java中声明boolean flag = True的方式不同,在Python中,您可以声明myFlag = True

Python会将其解释为布尔变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值