python中true和false是变量吗_关于python:如何在区分None和False时计算变量是None,False还是True...

假设我们有以下代码来检测文档的星级。如果星级评定为50.0,它将使用星级"指标=真",我们希望在这种情况下"做点什么",如果星级评定为10.0,它将使用星级"指标=假",我们希望在这种情况下"做点别的"。

stars_indicator = sentiment_indicator = None

if document[stars] == 50.:

stars_indicator = True

elif document[stars] == 10.:

stars_indicator = False

我们如何检查我们是应该"做些什么"还是"做些别的"?

检查是不是真的很简单

if stars_indicator:

# do something

检查它是错误还是无错误的简单方法是

if not stars_indicator:

# do something else

但是这样的话,if条件就不能区分这两个选项,如果stars_指示错误或者没有,它就会"做其他的事情"。

在python中可能有重复的变量,如果变量为none、true或false,如何测试?

一个更好的方法是用is明确地检查错误或无:

if stars_indicator is None:

我不是想改变这段代码的逻辑(实际上是这样做的),而是要区分这三个选项——真、假或无

虽然其他人已经回答了如何检查您的变量是否为真、假或无,但我想指出,在您的代码片段中,如果您只是在没有星号标记的情况下工作,可能会更容易:

if document[stars] == 50.:

# Do what you would do if stars_indicator was True

elif document[stars] == 10.:

# Do what you would do if stars_indicator was False

else:

# Do what you would do if stars_indicator was None

通过这种方式,您不需要将结果编码为一个变量,只需再次解释变量即可。当然,这都是基于您提供的代码片段。

你能解释一下我在哪里修改了你的代码逻辑吗?基于您提供的示例,它仍然应该这样做,而不需要区分真、假或无。当然,如果您的真正代码更复杂,它可能不是首选的选项,但我仍然认为这个答案对那些查找它却不知道可能有更简单的选项的人很有用。所以我不太明白投反对票的原因。

我是想回复另一个意见,我的错。

这种问题的正确方法是使用isInstance()。

if isinstance(stars_indicator, bool) and not stars_indicator:

# do something else

isInstance(stars_indicator,bool)将首先确保变量不是none,并且只会确保它是false。

这是我曾经遇到的一个问题,我想分享它的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值