【发布时间】:2016-10-22 16:46:42
【问题描述】:
在 Python3 教程中,声明“可以将比较结果或其他布尔表达式分配给变量”。给出的例子是:
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
在比较字符串时,'or' 运算符究竟做了什么?为什么选择“特隆赫姆”?
【问题讨论】:
-
基本上,如果 string1 == True then non_null = string1 else if string2 == True then non_null = string2 else if string3 == True then non_null = string3 它停在 string2 因为任何非空字符串都是真的在 Python 中。
-
@bi0phaz3: "string" == True 是 false。你的意思是 bool(string1) == True。
-
我认为 Python 可以隐式转换
标签: python string python-3.x boolean boolean-logic