Python的日常:流程控制

流程控制是每个高级编程语言都具备的,Python并没有太多不同,下面是if、while以及for的基本用法。

6.1. if语句

基本形式:

三目表达形式:

expression1、2是条件表达式,通常是一些逻辑运算符和一些比较操作。something1、2、3是条件满足后实际要做的事情,如果暂时不需要实际代码,可以用pass语句代替。

Python中任何非0数值和非空对象都为真;0,空对象,和None都为假。

逻辑运算符:

  • A and B:与运算。
  • A or B:或运算。
  • not A:非运算。

比较:

  • 运算符:大于(>),小于(<),等于(==) 。

  • Python中的所有对象都可进行比较操作。对于嵌套对象,会逐级遍历,直到得出最终的比较结果。

  • 数字:直接比较大小。
  • 字符串:按序逐个比较字符的ASCII码值,当前字符的大小关系即为字符串的大小关系,如果相等则继续比较下一个。
  • 列表、元组:从左到右逐个比较对应内容。
  • 字典:按key排序后的key-value列表进行比较。

6.2. while循环


其中的else为可选部分。

与大部分语言中的循环操作一样,break用于跳出当前一层循环,continue用于跳到当前一层循环的开始处。

6.3. for循环

遍历可迭代对象时,使用for循环比较方便。
else的作用与while中的相同,expression可以是一个序列,例如:

一些特殊的遍历操作:

  • range/xrange函数

    range是一次性构造完整的列表,xrange是当用到的时候才会产生一个元素。xrange的方式显然更节省内存空间。

    可使用range函数实现非完备的遍历,设定每隔n个元素提取一个元素:

  • zip函数:可以将多个序列中对应位置的元素组合成元组,以这些元组作为元素构建一个列表并返回。

    可以借助zip函数来为字典对象填充元素:

<== index ==>