Python流程控制
本篇笔记的主要内容是:条件控制和循环控制,包括if语句、while语句、for语句等。
Python条件控制
if (m := 1) > 0: # :=是海象运算符,用于在函数内部为变量赋值 print("ok") ok
通过if语句来判断条件是否成立,这里需要注意判断条件无需放在括号中(R语言中需要将条件放在括号里),后面需要连接:
,执行语句无需大括号包围,而是依靠缩进结构进行区分。
- 多个条件连续判断使用
elif
- 判断条件同时成立用
and
,任意一个成立用or
以下是一个典型的if条件判断案例:
a = 10 list = [1, 2, 3, 4, 5 ] if a not in list: print("yes") else: print("no") #执行结果如下: yes
Python循环控制
使用循环控制能够执行更加复杂的操作,主要有以下4个元素:
- 变量初始值:在循环开始之前,已知初始值决定是否开启循环
- 结束条件:规定循环的结束位置,防止死循环
- 执行语句:需要循环重复执行的代码块
- 修改循环变量:使循环向前执行
while循环结构
- 如果使用
while
循环,只要条件为真,就可以执行一组语句。 - 如果使用
break
语句,即使 while 条件为真,也可以停止循环。 - 如果使用
continue
语句,可以停止当前的迭代,并继续下一个。 - 通过使用
else
语句,当条件不再成立时,可以运行一次代码块。
a = 1 b = 6 while a<b : a = a + 1 if a == 3: continue print(a) if a == 4: break else: print("ok") #执行结果如下: 2 4
for循环结构
- 用于遍历任何序列项目(即列表,元组,字典,集合或字符串)
- 提示:
for
循环不需要预先设置索引变量。 - 通过使用
break
语句,可以在循环遍历所有项目之前停止循环 - 通过使用
continue
语句,可以停止循环的当前迭代,并继续下一个 - 如需循环一组代码指定的次数,我们可以使用
range()
函数,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束 - 注意:
range(10)
不是 0 到 10 的值,而是值 0 到 9。range(3, 10)
意味着值为 3 到 10(但不包括 10) - For 循环中的 Else:指定循环结束时要执行的代码块
- for 语句不能为空,但是如果写了无内容的 for 语句,需要使用
pass
语句来避免错误
for i in range(2,6): if i == 3: pass if i == 4: continue if i == 5: break print('this is :',i) #执行结果如下: this is : 2 this is : 3
嵌套循环
有些时候,需要使用嵌套循环来处理某些工作,比如生成小麦的21条染色体名称,可以使用for循环嵌套进行操作:
b = ['A','B','D'] for x in range(1,8): for y in b: print(x,y)
易错点:
- python的break、continue和pass的区别:continue表示跳过后面未执行的程序,重新下一次循环,而pass表示站位,什么也不做,后面的代码(else之前)还是会执行。break,相当于跳出循环体,停止循环
- return:直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行
补充知识:
- for循环中有else,这里只要for循环程序没有被打断(berak),就会执行else中的程序,只有for循环程序被打断时才不会执行else中的程序。
- range()函数可以实现任意有序数字的生成,也可以实现倒序数字如10到1数字的生成,
range(11,-1,-1)
- 需要格外注意缩进规则
往期推荐: