一、Python 三大程序控制结构
所有程序逻辑只有三种结构:顺序、分支、循环,所有复杂代码都是嵌套组合而成。
1. 顺序结构
1.1 核心特点
代码从上到下逐行执行,无跳转、无判断、无重复。 默认执行结构。
1.2 示例代码
a = 10 b = 20 c = a + b print(c)2. 分支结构(if /elif/else)
2.1 核心特点
根据布尔条件 True/False,选择性执行代码块。
2.2 语法规范
if 条件1: 语句块 elif 条件2: 语句块 else: 语句块2.3 核心规则
必须带冒号
:靠缩进区分代码块
匹配到第一个 True 分支后直接跳出
else可选、只能放最后
2.4 示例代码
score = 88 if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("及格") else: print("不及格")2.5 三元表达式(极简分支)
age = 20 res = "成年" if age >= 18 else "未成年" print(res)2.6 适用场景
判断、筛选、状态选择、多分支业务。
3. 循环结构(for /while)
3.1 while 循环
特点
条件循环:不知道循环次数时使用。
语法
while 条件: 循环体示例
i = 1 while i <= 5: print(i) i += 1不更新循环变量 →死循环
3.2 for 循环
特点
遍历循环:已知范围、遍历容器优先使用(Python 主力循环)
语法
for 变量 in 可迭代对象: 循环体适用对象
字符串、列表、元组、集合、字典、range ()
示例
for i in range(1, 6): print(i)3.3 循环控制关键字
break
彻底终止整个循环
continue
终止本次,直接进入下一次
for i in range(1, 6): if i == 3: continue print(i) # 跳过33.4 循环 else
循环正常结束(无 break 打断)才执行 else
for i in range(3): print(i) else: print("循环正常结束,未触发break")二、函数
2.1 函数概念
函数 = 封装好的代码块
作用:代码复用、便于维护
2.2 函数分类
内置函数:print ()、len ()、input ()(系统自带)
自定义普通函数:
def定义匿名函数:
lambda,轻量化临时函数
2.3 普通函数完整语法
def 函数名(参数列表): 函数体 return 返回值无参、无返回值
def hello(): print("Hello Python") # 函数调用 hello()有参、带返回值函数
def add(a, b): return a + b # 调用,接收返回结果 res = add(2, 3) print(res)
return执行后函数直接结束;无 return 默认返回None
2.4 函数调用规则
函数必须先定义,后调用
调用格式:
函数名(实参)
def show(name): print(f"你好:{name}") show("张三") show("李四")2.5 四大参数类型(必考)
1. 位置参数
按顺序一一对应
def func(a, b): print(a, b) func(10, 20)2. 关键字参数
指定参数名,顺序可打乱
func(b=20, a=10)3. 默认参数
不传参自动使用默认值
def func(a, b=100): print(a, b) func(10)注意:默认参数需要放在位置参数后面
4. 可变参数
*args:接收任意位置参数,打包为元组**kwargs:接收任意关键字参数,打包为字典
def func(*args, **kwargs): print(args) print(kwargs) func(1, 2, 3, name="小明")位置参数 > 默认参数 > *args >kwargs
2.6 变量作用域(全局 / 局部)
局部变量:函数内部定义,仅函数内可用,调用结束销毁
全局变量:函数外部定义,全局均可访问
global关键字:可以在函数内部修改外部全局变量,若不加则是新建局部变量
num = 100 def modify(): global num num = 999 modify() print(num)2.7匿名函数 lambda
1. 作用
创建临时、轻量级、(不赋值)一次性使用的小型函数,不需要命名,适合简单表达式。
2. 语法
lambda 参数列表: 表达式限制:只能写一行表达式,不能写多行代码、不能使用 if 分支代码块(三元表达式除外)
3. 基础示例
# 定义匿名函数并赋值 calc = lambda a, b: a + b # 调用匿名函数 print(calc(4, 6))4. 搭配三元运算符
max_num = lambda x, y: x if x > y else y print(max_num(15,25))5. 经典使用场景
经常配合高阶函数使用:sorted()、map()、filter()
data = [("张三",18),("李四",16),("王五",22)] # 根据元组第二个元素排序 data_sort = sorted(data, key=lambda x: x[1]) print(data_sort)