Python选择结构和循环结构

条件表达式

  • 绝大部分合法的Python表达式都可以作为条件表达式。
  • 在选择和循环结构中,条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价。

(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

(2)逻辑运算符

  • 逻辑运算符and、or、not分别表示逻辑与、逻辑或、逻辑非。对于and而言,必须两侧的表达式都等价于True,整个表达式才等价于True。
  • 对于or而言,只要两侧的表达式中有一个等价于True,整个表达式就等价于True;对于not而言,如果后面的表达式等价于False,整个表达式就等价于True。
  • 逻辑运算符and和or具有短路求值或惰性求值的特点,可能不会对所有表达式进行求值,而是只计算必须计算的表达式的值。
>>> 3 and 5               #整个表达式的值是最后一个计算的子表达式的值
5
>>> 3 or 5				  #因为or有一个成立结果就成立,所以看到3不为0就不往后算了。
3
>>> 0 and 5               #0等价于False
0
>>> 0 or 5
5
>>> not [1, 2, 3]         #非空列表等价于True
False
>>> not {}                #空字典等价于False
True

选择结构

  • 常见的选择结构有单分支选择结构、双分支选择结构、多分支选择结构以及嵌套的分支结构,也可以构造跳转表来实现类似的逻辑。
  • 循环结构和异常处理结构中也可以带有“else”子句,可以看作是特殊形式的选择结构。
  • Python还提供了一个三元运算符,并且在三元运算符构成的表达式中还可以嵌套三元运算符,可以实现与选择结构相似的效果。语法为
    value1 if condition else value2
    当条件表达式condition的值与True等价时,表达式的值为value1,否则表达式的值为value2。
>>> b = 6 if 5>13 else 9         #赋值运算符优先级非常低
>>> b
9

循环结构

待更新

发布了106 篇原创文章 · 获赞 267 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zag666/article/details/105001224