条件控制语句
Python 条件控制语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块,实质上就是C语言的选择结构。
if语句
语法结构如下:
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
这里要注意的是:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
举个实例:
age = 22 is_student = True if age < 18: print("您还未成年,不能参加此活动") elif age >= 18 and age <= 25 and is_student: print("您是学生,可以享受折扣价") elif age >= 60: print("您是老人,可以享受免费服务") else: print("您需要支付全价")
if 嵌套
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句
实例如下:
age = 25 is_student = True is_vip = False if age >= 18: print("您已经成年了") if is_student: print("您是学生") if is_vip: print("您是 VIP 学生,可以享受免费服务") else: print("您是普通学生,需要支付折扣价") else: print("您不是学生") if is_vip: print("您是 VIP 用户,可以享受免费服务") else: print("您需要支付全价") else: print("您还未成年,不能参加此活动")
match…case
在Python 3.10及以后的版本中,引入了一种新的语法结构:match…case。它提供了一种更简洁和可读性更好的方式来进行模式匹配。
match…case 结构类似于 switch 语句,在不同的模式匹配下执行不同的代码块。每个 case 子句都包含一个模式(pattern)和相应的代码块。
match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: # 等同于C语言中的deafult <action_wildcard>
实例如下:
def check_grade(grade): match grade: case "A": print("优秀") case "B": print("良好") case "C", "D": print("及格") case _: print("不及格") check_grade("A") # 输出:优秀 check_grade("B") # 输出:良好 check_grade("D") # 输出:及格 check_grade("F") # 输出:不及格
循环语句
Python 中的循环语句有 for 和 while,但不同于C语言,Python没有 do…while 循环。
for 语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
语法结构如下:
for <variable> in <sequence>: action1 else: action2
当需要处理更复杂的情况时,可以在 for 循环中嵌套其他控制流语句,如条件语句(if…else)和循环语句(while),实例如下:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in matrix: for element in row: if element % 2 == 0: print(f"{element} 是偶数") else: print(f"{element} 是奇数")
while语句
while语句语法结构如下:
while (condition): action
实例如下:
total = 0 i = 1 while i <= 10: total += i i += 1 print(f"数字 1~10 的和为 {total}") #当 i 大于 10 时,循环终止,最终打印出数字 1~10 的总和。
f-string
在Python中,f 是用于创建格式化字符串的前缀,它可以与大括号 {} 一起使用,用于在字符串中插入变量或表达式的值。
举个例子:
name = "Alice" age = 25 message = f"My name is {name} and I'm {age} years old." print(message)
在这个例子中,我们定义了一个变量 name 和 age,分别表示人物的姓名和年龄。然后使用 f-string 创建一个格式化的字符串,其中大括号内包含变量名或表达式。在运行时,{name} 会被替换为变量 name 的值 “Alice”,{age} 会被替换为变量 age 的值 25。最终得到的字符串被打印出来。
while + else 语句
当 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while (condition): action1 else: action2
举个例子:
i = 0 while i < 5: print(i) i += 1 else: print("循环结束")
直到 i 不再小于 5。当 i 等于 5 时,循环条件为假,循环结束。此时 else 语句会执行,输出 “循环结束”。
for…else
在 Python 中,for…else 语句用于在循环结束后执行一段代码。
语法格式如下:
for item in iterable: # 循环主体 else: # 循环结束后执行的代码
break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句使 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
举个例子:
fruits = ["apple", "banana", "cherry"] for fruit in fruits: if fruit == "orange": print("橙子在列表中") break else: print("列表中没有橙子")
在这个例子中,我们使用 for 循环遍历一个水果列表,并检查列表中是否包含 “orange” 字符串。由于列表中没有 “orange”,因此循环正常结束,else 语句会执行,输出 “列表中没有橙子”。
如果我们在循环体中使用 break 语句提前终止循环,那么 else 语句将不会执行。例如:
fruits = ["apple", "banana", "cherry", "orange"] for fruit in fruits: if fruit == "orange": print("橙子在列表中") break else: print("列表中没有橙子")
本文内容到此为止,在下一篇文章中将介绍推导式等相关知识点。