条件控制语句是编程中用于基于特定条件执行不同代码块的一种结构。Python提供了几种条件控制语句,包括
if
、elif
和else
。这些语句允许程序根据不同的条件执行不同的代码路径
if 语句
if
语句是最基本的条件控制语句,用于检查一个条件是否为真。如果条件为真,则执行if
语句块中的代码
语法
if condition:
# 条件为真时执行的代码
print("条件为真")
例子
age = 10
if age >= 11:
print("满足条件则输出")
elif 语句
elif
是"else if"的缩写,用于在if
语句之后添加额外的条件检查。如果if
语句的条件不满足,Python会检查elif
语句的条件
语法
if condition1:
print("条件1为真")
elif condition2:
print("条件1不满足,但条件2为真")
例子
count = 90
if count == 60:
print('及格')
elif count == 80:
print('良好')
elif count == 90:
print('优秀')
else 语句
else
语句与if
或elif
语句配合使用,如果所有的if
和elif
条件都不满足,则执行else
语句块中的代码
语法
if condition:
print("条件为真")
else:
print("条件不满足")
例子
count = 100
if count == 60:
print('及格')
elif count == 80:
print('良好')
elif count == 90:
print('优秀')
else:
print('满分')
嵌套 if 语句
if condition1:
if condition2:
print("条件1和条件2都为真")
else:
print("条件1为真,条件2不满足")
else:
print("条件1不满足")
逻辑运算符
在条件控制语句中,逻辑运算符用于组合多个条件。常见的逻辑运算符包括:
and: 逻辑与,两个条件都为真时结果为真
or:逻辑或,两个条件中至少有一个为真时结果为真
not:逻辑非,反转条件的真值
三元运算符
三元运算符是条件语句中,一种简化的条件表达式,也就是用一行代码中,根据条件为真或为假执行不同的操作
语法
result = value_if_true if condition else value_if_false
这里的condition是一个布尔表达式:
- 如果为True,则 result 将被赋予 value_if_true 的值
- 如果为False,则 result 将被赋予 value_if_false 的值
例子
score = 75
# 使用三元运算符来决定学生是否通过考试
grade = "Pass" if score >= 60 else "Fail"
print(grade)
match...case
Python 3.10 增加了 match...case 的条件判断,不需要再使用一连串的 if-else 来判断了,这种模式匹配语法类似于其他编程语言中的
switch
或case
语句,但更加灵活
match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切,类似于 switch 中的 default
例子1
# 相当于switch语句
x = 10
match x:
case 1:
print('x = 1')
case 5:
print('x = 5')
case _: # 相当于default
print('no')
输出结果
例子
def match_example(value):
match value:
case 1:
print("1")
case 2:
print("2")
case _: # _ 是一个通配符,表示匹配所有其他情况
print("其他")
# 调用函数测试
match_example(1) # 输出: 1
match_example(2) # 输出: 2
match_example(3) # 输出: 其他
输出结果(可以依次尝试一下)
在这个例子中,match 关键字后面跟着要匹配的值,然后是一系列的case块。每个 case 块定义了一个匹配模式,如果 match 表达式的值与某个 case 匹配,就会执行该 case 块中的代码。
_
是一个特殊的模式,它匹配任何值,通常用作默认的 case