8.1 if语句
8.1.1 多重条件表达式
单个if语句可以通过使用布尔操作符and、or和not实现多重判断条件或是否定判断条件。
8.1.2 单一语句的代码块
如果一个复合语句的代码块仅仅包含一行代码,那么它可以和前面的语句写在同一行上。
8.2 else语句
8.3 elif(即else-if)语句
Python当前不支持switch/case语句。
8.4 条件表达式
X if C else Y
>>> str1 = "111" if 1 >= 2 else "222"
>>> str1
'222'
>>>
8.5 while语句
8.6 for语句
Python的for更像是shell或是脚本语言中的foreach循环。
8.6.2 用于序列类型
1. 通过序列项迭代
>>> str1 = "abcdefg"
>>> for str in str1:
... print str
...
a
b
c
d
e
f
g
>>>
2. 通过序列索引迭代
>>> for index in range(len(str1)):
... print str1[index]
...
a
b
c
d
e
f
g
>>>
3. 使用项和索引迭代
>>> for(index, value) in enumerate(str1):
... print index, value
...
0 a
1 b
2 c
3 d
4 e
5 f
6 g
>>>
两全其美的方法是使用内建的enumerate()函数。
8.6.3 用于迭代器类型
8.6.4 range()内建函数
range()的完整语法 range(start,end,step=1)
8.6.5 xrange()内建函数
xrange()类似range(),不过当有一个很大的范围列表时,xrange()可能更为适合,因为它不会在内存里创建列表的完整拷贝。它只被用在for循环中,在for循环外使用它没有意义。
8.6.6 与序列相关的内建函数
sorted()、reversed()、enumerate()、zip()
8.7 break语句
break语句用于打断迭代,推出循环。
8.8 continue语句
当遇到continue语句时,程序会终止当前循环,并忽略剩余的语句,然后回到循环的顶端。
8.9 pass语句
有些地方在语法上要求要有代码,而python中没有对应的空大括号或是分号来表示C语言中的“不做任何事”,如果你在需要在有语句块的地方不写任何语句,解释器会提示语法错误。因此Python提供了pass语句,它不做任何事情。
8.10 再谈else语句
在循环中使用时,else子句只在循环完成后执行,也就是说break语句也会跳过else块。
>>> for i in "1290":
... print i
... else:
... print
... print "current char is %s"%i
...
1
2
9
0
current char is 0
>>>