一、流程控制
Python支持两种基本流程控制结构
分支结构: 根据条件选择不同的代码块执行 循环结构: 根据循环条件重复代码块 if语句用于分支结构 for-in, while用于循环结构 break, continue用于循环控制
二 、分支结构
1 if条件判断
格式
基本格式 if condition_test : do something if-else格式 if condition_test : do something else : do something if-else嵌套格式 if condition_test : do something elif condition_test : do something ... else : do something 其中 elif=else if 可以有零个或多个elif语句
2 assert断言
格式
assert condition_test, '对assert的一些说明' condition_test为Ture时,程序继续向下执行 否则,程序引发AssertionError错误,并显示对assert的说明(如果有的话)
示例
n = -2 assert n > 0, 'n的值必须大于0' print(n) 引发AssertionError错误,并显示'n的值必须大于0'
三、循环结构
1 while循环
格式
while condition_test : do something else : do something 其中 else块可选
示例
list_1 = list(range(10)) i = 0 while i < len(list_1): print(list_1[i]) i += 1 else : print("列表已经遍历完") print(list_1)
2 for-in循环
格式
for var in iterable : do something else : do something 其中 var: 变量名 iterable: 任意可迭代对象:字符串,列表,元组,字典,range else块可选
示例
遍历列表(元组,字符串,range都一样)
list_1 = ['a', 'b', 4, 7, 'u', 'j'] for i in list_1 : print(i)
遍历字典
dict_1 = {'key1':11, 'key2':22, 'key3':33, 'key4':44} #遍历字典的key-value对 for key,value in dict_1.items(): print('key:',key) print('value:',value) print(dict_1[key]) #遍历字典的key for key in dict_1.keys(): print('key:',key) print(dict_1[key]) #遍历字典的value for value in dict_1.values(): print('value:',value)
3 for表达式(列表推导式)
返回的是列表
格式
[表达式 for 循环计数器 in iterable]
示例
[ pow(x,2) for x in range(10) ] 返回0-9每个数的平方组成的列表
四、循环控制
pass 空语句,不做任何事情,一般用做占位语句 continue 结束当前循环,开始下一次循环 break 结束循环