python条件控制的疑惑

在遇到以下代码示例最后一行的输出时,我的第一反应不是'Trondheim',而是True。为什么我会有这样的想法?如果按我这样的想法,程序应该怎么改?


string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
non_null = string1 or string2 or string3
non_null
'Trondheim' #我的第一反应是True
阅读 2.9k
2 个回答

doc里有说。

DOC内容

clipboard.png

具体的表达式定义为

clipboard.png

基本翻译如下:

x or y

判断x是否为False(包括"", 0, None)

  • 是,则输出y

  • 否,则输出x

x and y

判断x是否为False(包括"", 0, None)

  • 是,则输出x

  • 否,则输出y

print bool(non_null)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进