一、Python流程控制简介
流程控制是编程语言中最基本的概念之一,Python也不例外。Python中的流程控制有三种:顺序结构、选择结构和循环结构。
顺序结构是最简单的一种结构,顺序执行程序中的所有语句。选择结构则根据条件选择是否执行某一段代码,常用的有if语句和switch语句。循环结构则可以重复执行某一段代码,常用的有while循环和for循环。
二、if语句
Python中的if语句用于判断条件是否成立,如果条件成立则执行指定代码块中的代码。if语句的语法格式如下:
if 判断条件:
执行语句…
else:
执行语句…
1. 单个if语句
if语句形式上分为单个if语句和if…else语句。先看单个if语句的使用示例:
a = 10
if a > 5:
print("a > 5")
上述代码中,判断条件a > 5成立,因此执行语句print("a > 5")。
2. if…else语句
if…else语句在单个if语句的基础上增加了一个else语句块。当判断条件成立时执行if语句块中的语句,否则执行else语句块中的语句。下面是一个简单的使用if…else语句的示例:
a = 3
if a < 3:
print("a < 3")
else:
print("a >= 3")
上述代码中,变量a的值为3,不满足a < 3的条件,因此执行else语句块中的语句print("a >= 3")。
3. if…elif…else语句
if…elif…else语句是一种多分支结构,当有多个条件需要判断时可以使用。它的语法格式如下:
if 判断条件1:
执行语句1…
elif 判断条件2:
执行语句2…
elif 判断条件3:
执行语句3…
else:
执行语句n…
使用if…elif…else语句的示例代码如下:
score = 90
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
上述代码中,使用elif语句判断各个条件,输出相应的结果。
三、while循环
Python中的while循环语句用于重复执行一段代码,直到条件不成立为止。假如我们需要执行一段代码10次,则可以使用下面的代码:
i = 0
while i < 10:
print("hello world")
i += 1
上述代码中,首先将i赋值为0,然后进入while循环。只要i的值小于10,就会重复执行print("hello world")和i += 1,直到i的值变为10,跳出循环。
1. while…else语句
while循环语句也支持else语句块。当循环正常结束时(循环条件为False),就执行else语句块中的代码。如果循环被break语句中断掉,则不执行else语句块中的代码。
i = 0
while i < 5:
print(i)
i += 1
else:
print("循环结束")
上面的代码中,当i小于5时,重复执行print(i)和i += 1,直到i等于5,跳出循环,执行else语句块中的代码print("循环结束")。
2. break和continue语句
在while循环中,我们还可以使用break和continue语句来控制循环的行为。其中break语句用于提前终止循环,而continue语句用于跳过当前循环,进入下一次循环。下面是一个简单的使用break和continue语句的示例:
i = 0
while i < 10:
i += 1
if i == 5:
break
if i % 2 == 0:
continue
print(i)
上述代码中,当i等于5时,跳出循环;当i为偶数时,跳过当前循环,进入下一次循环;否则,输出i的值。
四、for循环
for循环语句用于循环遍历序列中的元素,其中序列可以是列表、元组、字符串等。
a = [1, 2, 3, 4]
for i in a:
print(i)
上述代码中,循环遍历a中的元素,输出i的值。
1. range函数
在for循环中,我们经常使用range函数生成一个序列,来进行循环。range函数有三个参数:start、stop和step。
start表示序列的起始值,默认为0;
stop表示序列的终止值;
step表示序列的步长,默认为1。
range函数的使用示例如下:
for i in range(1, 10, 2):
print(i)
上述代码中,range函数生成1、3、5、7、9这个序列,for循环遍历这个序列,输出i的值。
2. enumerate函数
enumerate函数用于将列表、元组等序列类型的数据转换成一个枚举对象,在循环遍历序列时可以同时获取每个元素的下标和值。我们可以使用for循环和enumerate函数组合来进行遍历。
a = ["apple", "banana", "pear", "watermelon"]
for i, v in enumerate(a):
print(i, v)
上述代码中,enumerate函数将a这个序列转换成枚举对象,for循环遍历这个枚举对象,分别输出下标和元素的值。
五、总结
本文介绍了Python中的流程控制,包括if语句、while循环和for循环,同时还介绍了break、continue和enumerate函数。以上内容是Python编程的基础,我们在使用Python编写代码时,必须掌握良好的流程控制思想,才能写出简单、清晰、可维护的代码。