为了账号安全,请及时绑定邮箱和手机立即绑定

a and 'a=T' or 'a=F',为什么返回的不是布尔值!

a and 'a=T' or 'a=F',为什么返回的不是布尔值True或False!

正在回答

2 回答

字符串在参与正确与否的判断时当作true,如果将其返回的话,是返回整个字符串,凭什么字符串返回后变成了true或者false?

a = True

T = 'string'

F = 'str'

print a and a==T or a==F

上面代码将会返回False,因为a==T和a==F本身就是boolean,所以最后返回的是boolean类型值

1 回复 有任何疑惑可以回复我~

a = true

a and 'a=T'  

true and '非空字符串'(true)

根据短路原理 为  '非空字符串' 即‘a=T’

‘a=T’ or ‘a=F’

'非空字符串'(true) or '非空字符串'(true)

根据短路原理 为 ‘a=T’

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

a and 'a=T' or 'a=F',为什么返回的不是布尔值!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信