
生信分析笔记
V1
2023/02/23阅读:13主题:自定义主题1
Python学习笔记丨while、for、if循环结构基础知识与易错点
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)
-
需要格外注意缩进规则
作者介绍

生信分析笔记
V1
欢迎关注公众号:生信分析笔记