4.1 条件表达式
在选择结构和循环结构中,都要根据条件表达式的值来确定下一步的执行流程。条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价。从这个意义上来讲,所有的Python合法表达式都可以作为条件表达式,包括含有函数调用的表达式。
关于表达式和运算符的详细内容请参考2.2节,这里再重点介绍一下几个比较特殊的运算符。
1.关系运算符
Python中的关系运算符可以连续使用,这样不仅可以减少代码量,也比较符合人类的思维方式。
>>>print(1<2<3) #等价于1<2 and 2<3
True
>>>print(1<2>3)
False
>>>print(1<3>2)
True
在Python语法中,条件表达式中不允许使用赋值运算符“=”,避免了误将关系运算符“==”写成赋值运算符“=”带来的麻烦。在条件表达式中使用赋值运算符“=”将抛出异常,提示语法错误。
>>>if a=3: #条件表达式中不允许使用赋值运算符
SyntaxError:invalid syntax
>>>if(a=3)and(b=4):
SyntaxError:invalid syntax
关系运算符具有惰性计算的特点,只计算必须计算的值,而不是计算关系表达式中的每个表达式。
>>>1>