判断语句(if)
判断语句中最有名的应该就是if-else的组合,并且很多语言都通用这种格式,但是对于elif而言,不同语言表达形式可能会不同:
In [1]: x = 5 In [2]: if x>0: ...: print('正整数') ...: elif x<0: ...: print('负整数') ...: else: ...: print('零') ...: 正整数
一组判断语句可能会有零到多个 elif 部分,else 是可选的。关键字 elif 是 else if 的缩写,由于python对缩进的要求很严格,而这种写法恰巧可以有效地避免过深的缩进。if ... elif ... elif ... 序列用于替代其它语言中的 switch 或 case 语句。
循环语句
1、for循环
如果C语言是你最熟悉的需要,要注意python和C语言中的for语句表达形式完全不同。Python 的 for 语句依据任意序列(字符串、列表)中的子项,按照它们在序列中的顺序来进行迭代。
In [3]: str1 = 'mao' In [4]: for i in str1: ...: print(i) ...: m a o
对列表的循环与字符串几乎一致,只是子项不同。
In [5]: list1 = ['a','aa','aaa'] In [6]: for i in list1: ...: print(i,len(i)) ...: a 1 aa 2 aaa 3
for语句与range函数结合是一种很常见的组合,range函数主要提供一个数值序列。
In [8]: for j in range(len(list1)): ...: print(j,list1[j]) ...: 0 a 1 aa 2 aaa
range提供的数值索引方式可以参考列表的切片,同样默认以0开始,且不包括最后一位,上面这种场合利用enumerate()函数表达会更加简单。
In [9]: for i,v in enumerate(list1): ...: print(i,v) ...: 0 a 1 aa 2 aaa
2、while语句
In [10]: i = 1 In [11]: list2 = [] In [12]: while i<=5: ...: list2.append(i) ...: i+=1 In [14]: list2 Out[14]: [1, 2, 3, 4, 5]
3、break、continue、pass
break语句的作用就是用来跳出一个for或while循环。
In [15]: for i in range(0,5): ...: if i == 3: ...: break ...: else: ...: print(i) 0 1 2
可以看到在for循环中加了一个判断语句,当i等于3时会跳出for循环,不再继续执行,输出与语义符合。