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

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


一、条件判断: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)

四、循环控制:breakcontinue

  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)。

相关推荐
农夫山泉2号17 分钟前
【python】—conda新建python3.11的环境报错
python·conda·python3.11
Aric_Jones1 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Akiiiira1 小时前
【日撸 Java 三百行】Day 12(顺序表(二))
java·开发语言
ZHOU_WUYI1 小时前
Flask Docker Demo 项目指南
python·docker·flask
EndingCoder1 小时前
2025年JavaScript性能优化全攻略
开发语言·javascript·性能优化
Brilliant Nemo6 小时前
四、SpringMVC实战:构建高效表述层框架
开发语言·python
2301_787552876 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
懵逼的小黑子6 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django
Y3174297 小时前
Python Day23 学习
python·学习