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

不懂b的运算

没看懂这道题目,谁能解释一下,为什么b变成默认字符串就对了呢?

正在回答

2 回答

这个是短路运算,在或运算中,一个为true结果就为true,

a = 'python'

print 'hello,', a or 'world'

a已经为true,所以or 'word'就不再看了,

此时a or 'world'就等价于'python'

b = ' '

print 'hello,', b or 'world'

b为空值,所以要看or 'word',

此时b or 'world'等价于'word'

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

后知不觉 提问者

非常感谢!
2017-01-26 回复 有任何疑惑可以回复我~
#2

Riley喵喵

所以print出来应该是 hello, world才对呀?为什么我的出来只有‘hello'
2018-03-14 回复 有任何疑惑可以回复我~

第五行代码机器运算为hello,然后进行“,”后面的or运算,因为Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True,所以第四行代码运算后b为False,第五行会进行or之后的运算,输出world

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

举报

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

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

进入课程

不懂b的运算

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