Python基础教程:控制流与函数入门 - 第4-6天
关键要点
- 控制流的核心作用:条件语句和循环使程序能够根据条件做出决策并重复执行任务。
- 函数的重要性:函数帮助组织代码,提高可读性和可维护性,是编写复杂程序的基础。
- 适合初学者:本教程通过简单示例和比喻,适合零基础学习者掌握Python控制流和函数。
- 后续学习:下一主题将介绍数据结构,帮助更高效地处理数据。
简介
在编程中,控制流和函数是构建动态程序的基石。控制流允许程序根据输入或状态选择执行路径或重复执行任务,而函数则将代码组织成可重用的模块,使程序更清晰、更易于维护。本教程将通过三天的学习计划,详细讲解Python中的条件语句、循环和函数,适合初学者。通过代码示例和直观的比喻,您将快速掌握这些核心概念。
第4天:条件语句
条件语句简介
条件语句让程序根据特定条件执行不同的代码块。在Python中,if
语句是最常用的控制流工具,通过布尔表达式(值为True
或False
)决定执行路径。布尔表达式可以包含比较运算符(如>
, <
, ==
, !=
)和逻辑运算符(如and
, or
, not
)。
语法
Python的条件语句包括以下形式:
- 基本if语句:
if 条件:
# 条件为真时执行
- if-else语句:
if 条件:
# 条件为真时执行
else:
# 条件为假时执行
- if-elif-else语句:
if 条件1:
# 条件1为真时执行
elif 条件2:
# 条件1为假且条件2为真时执行
else:
# 所有条件为假时执行
执行流程
条件语句的执行流程如下:
- 评估条件(布尔表达式)。
- 如果条件为
True
,执行if
块代码,然后跳过后续分支。 - 如果条件为
False
,检查elif
条件(若有),或执行else
块(若有)。 - 继续执行后续代码。
流程描述:
- 开始
- 评估条件
- 若条件为真,执行
if
块,然后结束 - 若条件为假,检查
elif
或执行else
块,然后结束 - 结束
代码示例
以下示例展示条件语句的实际应用:
示例1:检查数字奇偶性
number = 10
if number % 2 == 0:
print("偶数")
else:
print("奇数")
输出:偶数
示例2:根据分数确定等级
score = 85
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("D")
输出:B
示例3:判断闰年
闰年的规则是:年份能被4整除但不能被100整除,或能被400整除。
year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("闰年")
else:
print("非闰年")
输出:闰年
常见问题
- 缩进错误:Python使用缩进来定义代码块,
if
语句后的代码必须缩进(通常4个空格)。 - 使用=代替==:
=
是赋值运算符,==
是比较运算符。使用if x = 5
会导致语法错误。
练习
- 编写程序,检查输入的年龄是否允许投票(>=18)。
- 创建一个程序,根据输入的温度(摄氏度)输出“冷”(<10)、“适中”(10-25)或“热”(>25)。
第5天:循环语句
循环简介
循环允许程序重复执行代码块,适合处理重复任务。Python提供两种循环:for
循环和while
循环。
for循环
for
循环用于遍历序列(如列表、元组、字符串)或通过range()
生成数值序列,适合已知迭代次数的场景。
语法:
for 元素 in 序列:
# 代码
执行流程:
- 从序列中获取第一个元素,赋值给循环变量。
- 执行循环体。
- 获取下一个元素,重复直到序列结束。
示例1:遍历列表
fruits = ["苹果", "香蕉", "樱桃"]
for fruit in fruits:
print(fruit)
输出:
苹果
香蕉
樱桃
示例2:使用range()
for i in range(0, 10, 2):
print(i) # 打印偶数0到8
输出:
0
2
4
6
8
说明:range(start, stop, step)
生成从start
到stop-1
的序列,步长为step
。
while循环
while
循环在条件为真时持续执行,适合未知迭代次数的场景。
语法:
while 条件:
# 代码
执行流程:
- 评估条件。
- 如果条件为
True
,执行循环体,然后重新评估条件。 - 如果条件为
False
,退出循环。
示例1:打印1到5
i = 1
while i <= 5:
print(i)
i += 1
输出:
1
2
3
4
5
示例2:猜数字游戏
number = 7
guess = 0
while guess != number:
guess = int(input("猜一个数字: "))
if guess < number:
print("太低了")
elif guess > number:
print("太高了")
print("正确!")
for与while的对比
特性 | for循环 | while循环 |
---|---|---|
用途 | 遍历已知序列或固定次数 | 条件驱动,未知迭代次数 |
语法 | for x in seq: | while condition: |
风险 | 较少出现无限循环 | 需确保条件最终为假 |
示例场景 | 遍历列表、字符串 | 等待用户输入 |
控制循环
- break:提前退出循环。
- continue:跳过当前迭代,继续下一次。
示例:
for i in range(10):
if i == 5:
break # 退出循环
if i % 2 == 0:
continue # 跳过偶数
print(i) # 打印1, 3
常见问题
- 无限循环:在
while
循环中,若条件始终为真(如忘记更新循环变量),程序将无限运行。 - 缩进错误:循环体必须正确缩进。
练习
- 使用
for
循环计算1到100的和。 - 编写
while
循环,打印10到1的倒计数。
第6天:函数
函数简介
函数是一段命名的代码块,执行特定任务,可通过参数接收输入并返回结果。函数提高代码的模块化、可读性和可维护性。
定义与调用
定义语法:
def 函数名(参数):
# 代码
return 值 # 可选
调用:
函数名(参数)
比喻:函数就像烹饪食谱,包含名称、输入(食材)和步骤,输出结果(菜肴)。例如,制作蛋糕的食谱需要面粉和糖(参数),按照步骤混合烘焙(代码),最终得到蛋糕(返回值)。
执行流程:
- 调用函数,传递参数。
- 执行函数体。
- 返回结果(若有)并继续程序。
代码示例
示例1:计算两数之和
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 输出: 8
示例2:默认参数
def greet(name="世界"):
print(f"你好,{name}!")
greet() # 输出: 你好,世界!
greet("Alice") # 输出: 你好,Alice!
示例3:返回多个值
def calculate(a, b):
sum = a + b
diff = a - b
return sum, diff
s, d = calculate(10, 5)
print(s) # 15
print(d) # 5
示例4:函数调用其他函数
def greet(name):
return f"你好,{name}!"
def ask_name():
name = input("你叫什么名字? ")
return name
def main():
name = ask_name()
message = greet(name)
print(message)
main()
参数类型
- 位置参数:按顺序传递,如
add(3, 5)
。 - 关键字参数:指定参数名,如
add(b=5, a=3)
。 - 默认参数:提供默认值,如
greet(name="世界")
。 - 可变参数(高级,初学者可稍后学习):
def sum_all(*args): return sum(args) print(sum_all(1, 2, 3)) # 输出: 6
最佳实践
- 命名清晰:函数名应描述其功能,如
calculate_area
而非ca
。 - 单一职责:每个函数应专注于单一任务。
- 注释文档:为复杂函数添加文档字符串:
def add(a, b): """返回两个数的和""" return a + b
练习
- 编写函数,计算矩形的面积(长×宽)。
- 创建函数,判断输入的数字是否为素数。
结语
控制流和函数是Python编程的核心。条件语句和循环使程序能够动态响应不同情况,函数则通过模块化提高代码效率和可维护性。掌握这些概念后,您将能够编写更复杂和实用的程序。下一部分将介绍数据结构(如列表、字典的深入用法),帮助您更高效地管理数据。
为了加深理解,建议尝试以下练习:
- 编写一个程序,判断输入的数字是正数、负数还是零。
- 使用
for
循环计算1到100的和。 - 创建一个函数,计算矩形的面积并返回结果。
关键引用

学习是通往智慧高峰的阶梯,努力是成功的基石。
我在求知路上不懈探索,将点滴感悟与收获都记在博客里。
要是我的博客能触动您,盼您 点个赞、留个言,再关注一下。
您的支持是我前进的动力,愿您的点赞为您带来好运,愿您生活常暖、快乐常伴!
希望您常来看看,我是 秋声,与您一同成长。
秋声敬上,期待再会!