“和 - 或”伎俩的目的是什么?
即
>>> a = ""
>>> b = "second"
>>> 1 and a or b
'second'
答案 0 :(得分:5)
这只是一种模仿C系列语言中的条件运算符(又称“三元”运算符)的方法。在过去,没有直接的等效表达。以下表达式有点等价:
# in python
a and b or c
// in C
a ? b : c
不要使用它。由于Python的语义,如果b
是假的,表达式将评估为c
。
从Python 2.5(PEP 308)开始,它们为此构造提供了正确的语法。
b if a else c