Python流程控制语句详解
本文详细解析Python中的流程控制语句,涵盖if、elif、else的条件判断逻辑,包括非布尔值的真假判定;深入讲解while与for循环的语法及range函数的使用;并说明break、continue和pass语句在循环控制中的作用,帮助开发者掌握基础编程逻辑。
1.if判断
1.1 if语句
if 表达式:
语句1
语句2
……
需要留意的是,if后的条件测试不仅限于布尔类型,也可以直接使用数字。
当条件测试涉及字符串时,仅当字符串为空字符串时,测试结果才为False。
除了字符串,空列表、空元组和空字典在条件测试中同样被视为False。
此外,当if条件为None时,if语句中的代码块也不会执行。
1.2 else语句
当if的条件测试结果为False时,将执行else后的语句。else是if语句的可选部分,并非必须存在,但else不能单独使用,必须紧跟在if之后。
while语句同样可以与else组合使用,当while循环的条件测试结果为False时执行else块。
# -*- coding: utf-8 -*-
x = 0
if x:
print ("x is not zero")
else:
print ("x is zero")执行结果如下:
x is zero
1.3 elif语句
当需要处理多个测试条件时,仅靠if和else可能无法满足需求,此时可以使用elif语句。
elif语句不能单独出现,必须跟在if语句之后。
如果使用了elif,则else必须放在最后(如果有else的话)。
# -*- coding: utf-8 -*-
x = 59
if x > 90:
print ("A")
elif x > 80:
print ("B")
elif x > 60:
print ("C")
else:
print ("D")执行结果如下:
D
2.循环
2.1 while循环
语法格式:
while循环表达式:
语句1
语句2
......
执行流程如图:

while语句与if语句的表达式类似,只有当条件测试为True时,才会执行while循环体内的语句。
# -*- coding: utf-8 -*-
x = 0
while x <= 10:
print (x)
x += 1执行结果如下:
0 1 2 3 4 5 6 7 8 9 10
上述执行结果打印了1到10的数字。注意不能省略x += 1,否则变量x永远小于10,while语句中的x<=10条件将永远为True,导致print(x)无限执行。
2.2 for循环
语法格式:
for 变量 in 序列:
语句1
语句2
.......
执行流程如图:

语法格式中的序列可以是列表、元组等任何可迭代序列。
# -*- coding: utf-8 -*-
for x in (1,2,3,4,5,6,7,8,9):
print (x)执行结果如下:
1 2 3 4 5 6 7 8 9
如果需要多次输出,我们可以使用range函数。
range函数有两种使用方式:1.给定一个数字;2.给定range函数的开始和结束数字,并且可以定义步长(默认为1)。
# -*- coding: utf-8 -*-
for x in range(5):
print ("hello")
for y in range(1,10):
print (y)
for z in range(1,10,2):
print (z)执行结果如下:
hello hello hello hello hello 1 2 3 4 5 6 7 8 9 1 3 5 7 9
2.3 break和continue语句
break语句的作用是立即跳出循环体,循环体中break之后的语句都不会执行。
continue语句的作用是跳过当前循环体中剩余的代码,直接进入下一次循环。
# -*- coding: utf-8 -*-
for x in range(5):
if x > 3:
break
print (x)
for y in range(5):
if y == 3:
continue
print (y)执行结果如下:
0 1 2 3 0 1 2 4
可以看到,当x>3时,break执行退出了循环体。
当y==3时,continue被执行,跳过了随后的print语句。
3.其他
当我们暂时不确定程序要做什么时,可以使用pass(占位语句)来保持程序结构的完整性。
# -*- coding: utf-8 -*-
for x in range(5):
if x > 3:
pass
else:
print (x)执行结果如下:
0 1 2 3
到此这篇关于Python流程控制语句详解的文章就介绍到这了,更多相关Python流程控制内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









