流程控制概述
在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们
要完成的功能
简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行
在Python中支持顺序结构、分支结构、循环结构
-
顺序结构:
-
顺序结构是指代码按照书写顺序依次执行,没有跳转。每个语句被执行一次,从上到下按顺序执行
-
-
分支结构:
-
分支结构是根据条件来选择性地执行某段代码
-
在Python中通常通过
if
、elif
(else if的缩写)和else
语句实现
-
-
循环结构:
-
循环结构允许我们重复执行一段代码,直到满足特定条件为止
-
在Python提供了两种主要的循环:
for
循环和while
循环
-
分支结构
在Python中,分支结构允许程序根据条件判断来选择不同的执行路径
通常通过if
、elif
、和else
语句实现。下面详细介绍这些语句的形式
三种分支形式概述
-
第一种形式
-
if
语句用于检查一个条件,如果该条件为真,则执行紧跟在其后面的的代码块。 -
if expression: statements
第二种形式
-
当你需要在两种情况下做出选择时,可以使用
if-else
语句,如果if
后面的条件为真,则执行if
下的代码块,否则,执行
else
下的代码块 -
if expression: statements else: statements
第三种形式
-
当有多个条件需要检查时,可以使用
if-elif-else
语句,程序会从上到下依次检查每个if
或elif
后面的条件,一旦遇到条件为真的情况,就执行对应的代码块,并跳过其余的条件检查。如果所有条件都不满足,则执行
else
下的代码块
-
-
if expression: statements elif expression: statements elif expression: statements else: statements
三种分支形式实现
-
第一种形式
-
x = 10 if x > 5: print("x 大于 5")
第二种形式
x = 3 if x > 5: print("x 大于 5") else: print("x 不大于 5")
第三种形式
x = 7 if x < 5: print("x 小于 5") elif x == 5: print("x 等于 5") elif x > 5 and x <= 10: print("x 在 5 和 10 之间") else: print("x 大于 10")
分支结构的嵌套
在Python中,if
语句可以嵌套在其他if
或elif
语句内部,以实现更复杂的逻辑判断,
嵌套的if
语句可以帮助我们处理多条件分支的情况,但要注意保持代码的可读性和简洁性
num = 10
# 判断数字是正数、负数还是零
if num > 0:
print("这是一个正数")
# 嵌套的if语句来检查正数是偶数还是奇数
if num % 2 == 0:
print("并且它是一个偶数")
else:
print("并且它是一个奇数")
elif num < 0:
print("这是一个负数")
else:
print("这是零")
注意事项
-
缩进:所有属于同一个
if
语句的代码行应该具有相同的缩进级别,一般建议使用4个空格作为一级缩进 -
冒号:每个
if
、elif
和else
关键字后必须跟随一个冒号(:
),表示接下来是一个新的代码块 -
避免嵌套过多:尽量减少
if
语句的嵌套层数,以提高代码的可读性和维护性。可以通过重构代码逻辑来简化复杂的条件判断 -
顺序检查:当有多个条件需要检查时,
if-elif-else
结构会从上到下依次检查每个条件,一旦某个条件为真,则执行对应的代码块,并跳过剩余的条件检查。因此,条件的排列顺序很重要
-
关键字:else、elif不可以单独存在,前面一定要有if
if条件类型
Python 执行 if 语句时,会判断 if 条件是 True 还是 False ,那么if条件并不仅仅是只能使用 bool类型的表达式, if 条件可以是任意类型
当下面的值作为 bool表达式时,会被解释器当作 False 处理
-
False
-
None
-
” ”
-
( )
-
[ ]
-
{ }
-
s = "" if s: print("正确") else: print("错误") s1 = None if s1: print("正确") else: print("错误") s2 = () if s2: print("正确") else: print("错误") s3 = [] if s3: print("正确") else: print("错误") s4 = {} if s4: print("正确") else: print("错误")