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

这段解释看不懂,感觉讲的很跳跃,谁能解释一下?

计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?

因为Python把0空字符串''None看成 False,其他数值和非空字符串都看成 True,所以:

True and 'a=T' 计算结果是 'a=T'
继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'


正在回答

2 回答

这个内容顺序需要调整一下,首先讲出现 and or  not  那么两边等式都是当做布尔值来计算,然后再讲短路计算的原则,最后讲在python 中 数字0、空字符串''和None 都被当做 Flase,其他非空字符串和数字都被当做True

0 回复 有任何疑惑可以回复我~
True and 'a=T' 计算结果是 'a=T',因为and前面是True,对不对取决于后面的'a=T',所以输出为'a=T',继续计算 'a=T' or 'a=F'由于 'a=T'是非空字符,系统默认为是True,所以or的结果取决于后面的'a=T',所以输出为'a=T'


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

慕村2063100

后面应该是 计算 'a=T' or 'a=F'由于 'a=T'是非空字符,系统默认为是True,所以or的结果取决于前面的'a=T',所以输出为'a=T',这个是a and b 的短路计算法则
2020-04-04 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

这段解释看不懂,感觉讲的很跳跃,谁能解释一下?

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