【Python】Python常用控制结构详解:条件判断、遍历与循环控制

Python提供了多种控制结构来处理逻辑判断和循环操作,包括if-else条件分支、switch替代方案、遍历方法以及循环控制语句break和continue。以下是对这些功能的详细说明及示例:


一、条件判断:if-else与多分支结构

  1. 单分支结构
    • 语法:仅当条件为True时执行代码块。
python 复制代码
if condition:
    # 条件成立时执行

示例(网页6):

python 复制代码
age = 18
if age >= 18:
    print("已成年")
  1. 双分支结构(if-else)
    • 语法:根据条件真假执行不同代码块。
python 复制代码
if condition:
    # True时执行
else:
    # False时执行

示例(网页7):

python 复制代码
a = 20
if a > 10:
    print("a大于10")
else:
    print("a小于等于10")
  1. 多分支结构(if-elif-else)
    • 语法:处理多个互斥条件。
python 复制代码
if condition1:
    # 条件1成立时执行
elif condition2:
    # 条件2成立时执行
else:
    # 其他情况执行

示例(网页8):

python 复制代码
score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
else:
    print("需努力")

二、switch替代方案

Python无原生switch语句,但可通过以下方式实现类似功能:

  1. 字典映射
    • 用法:通过键值对映射不同条件对应的操作。
python 复制代码
def switch_case(value):
    cases = {
        1: "Case 1",
        2: "Case 2"
    }
    return cases.get(value, "默认值")

示例(网页11):

python 复制代码
key = 2
result = switch_case(key)  # 输出:Case 2
  1. match-case(Python 3.10+)
    • 语法:类似switch的模式匹配(网页9):
python 复制代码
match value:
    case 1:
        print("匹配1")
    case 2:
        print("匹配2")
    case _:
        print("默认")
  1. 函数映射
    • 用法:将条件映射到函数执行复杂逻辑(网页10):
python 复制代码
def action_a(): return "处理A"
def action_b(): return "处理B"
switcher = {"A": action_a, "B": action_b}
func = switcher.get(key, lambda: "默认")
func()  # 执行对应函数

三、遍历方法

  1. 遍历序列(列表、元组、字符串)
    • for循环:
python 复制代码
for item in [1, 2, 3]:
    print(item)

• enumerate获取索引:

python 复制代码
for index, value in enumerate(["a", "b"]):
    print(f"索引{index}: 值{value}")
  1. 遍历字典
    • 键值对遍历:
python 复制代码
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

• 仅遍历键或值:

python 复制代码
for key in person.keys():   # 遍历键
for value in person.values():  # 遍历值
  1. 遍历集合
    • 示例(网页12):
python 复制代码
my_set = {1, 2, 3}
for num in my_set:
    print(num)

四、循环控制:break与continue

  1. break终止循环
    • 作用:立即退出当前循环。
python 复制代码
for num in range(10):
    if num == 5:
        break  # 终止循环
    print(num)  # 输出0-4
  1. continue跳过当前迭代
    • 作用:跳过本次循环剩余代码,进入下一次迭代。
python 复制代码
for num in range(10):
    if num % 2 == 0:
        continue  # 跳过偶数
    print(num)  # 输出1,3,5,7,9
  1. 综合应用
    • 过滤数据(网页15):
python 复制代码
numbers = [1, 3, -5, 7, -2]
for num in numbers:
    if num < 0:
        continue  # 跳过负数
    print(f"正数:{num}")

五、总结与对比

结构/语句 用途 示例场景 来源
if-else 条件分支判断 用户年龄验证 网页7、8
字典映射替代switch 多条件映射处理 状态码处理 网页9、11
for遍历 迭代序列/集合元素 列表数据逐个处理 网页12、13
break/continue 控制循环流程 提前终止循环或跳过特定项 网页14、15、16

通过灵活组合这些结构,可高效处理逻辑判断、数据遍历与循环控制。具体实现时,建议根据场景选择最简洁的方式(如字典映射替代多分支if-elif)。

相关推荐
大貔貅喝啤酒9 分钟前
Unittest框架使用教程
自动化测试·python
一个简单的TTS开发者26 分钟前
中文TTS工具有哪些-8款主流方案横向对比
人工智能·后端·python·indextts
yunfanleo28 分钟前
temperature 详解:大模型采样参数原理、三种用法与工程实践
人工智能·python·rpa
卢锡荣30 分钟前
乐得瑞Type-c接口产品描述
c语言·开发语言
晴天的雨.99230 分钟前
【C++】模板进阶
开发语言·c++·算法
CarIise43 分钟前
Maven依赖传递与聚合工程
python·r语言·django
VidDown9 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
死磕音视频11 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
凤山老林11 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
pride.li13 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉