学习 Python 程序结构时,通常会先接触三种基本结构:
其中,顺序结构是最基础的。
所谓顺序结构,就是程序按照代码书写的先后顺序,从上到下,一行一行执行。
例如:
输出:
Python 会先执行第一行,再执行第二行,最后执行第三行。
这就是顺序执行。
顺序语句看起来简单,但它是理解所有程序的起点。后面学习条件判断、循环、函数时,也离不开顺序执行。
顺序语句指的是按照代码出现的先后顺序依次执行的语句。
通俗地说:
例如:
执行顺序是:
输出:
如果顺序改变,程序结果可能也会改变。
在 Python 中,语句是程序执行的基本单位。
可以简单理解为:
例如:
这里有两条语句:
Python 程序通常就是由一条一条语句组成的。
顺序结构有几个明显特点:
例子:
这三行必须按顺序执行。
如果先执行:
程序会报错,因为 message 还没有被创建。
程序中常见三种基本结构:
代码从上到下依次执行。
根据条件决定执行哪一部分代码。
这里不是所有分支都会执行,而是根据条件选择执行。
重复执行某一段代码。
这里 print("学习 Python") 会执行 3 次。
顺序结构是基础,选择结构和循环结构是在顺序执行的基础上加入了“判断”和“重复”。
看下面代码:
执行顺序是:
输出结果:
Python 中很多基础语句都可以出现在顺序结构中。
常见顺序语句包括:
| | |
|---|
| x = 10 | |
| name = input(...) | |
| print(...) | |
| func() | |
| import math | |
| print(len(text)) | |
注意:
严格来说,input() 和 print() 是函数调用,只是它们在教学中经常被称为输入语句和输出语句,方便初学者理解。
赋值语句用于把数据保存到变量中。
基本格式:
例子:
赋值语句会按顺序执行。
输出:
执行过程:
后一次赋值会覆盖前一次赋值。
赋值号右边可以是表达式。
输出:
这里:
执行时,Python 会先计算右边的 a + b,得到 30,再把结果赋值给 total。
也就是说:
再看:
输出:
这不是数学等式,而是更新变量。
在基础教学中,通常把接收用户输入的代码称为输入语句。
Python 中常用 input() 接收键盘输入。
执行过程:
注意:
input() 得到的结果一定是字符串。
即使用户输入 18,类型也是:
如果要参与数学计算,需要转换类型:
age = int(input("请输入年龄:"))
在基础教学中,通常把显示内容的代码称为输出语句。
Python 中常用 print() 输出内容。
输出:
也可以输出变量:
输出:
也可以输出表达式结果:
输出:
导入语句用于导入模块,让程序可以使用模块中的功能。
例如:
area = math.pi * radius ** 2这里执行顺序是:
注意:
通常要先导入模块,后使用模块。
错误示例:
这会报错,因为使用 math 时,它还没有被导入。
调用函数也是一种常见的顺序执行语句。
例如:
输出:
执行过程:
再比如:
输出:
这里 numbers.sort() 是一条函数调用语句,它会对列表进行排序。
很多初学程序都可以写成:
这是顺序结构最常见的应用。
例子:计算两个数的和。
a = int(input("请输入第一个整数:"))b = int(input("请输入第二个整数:"))执行过程:
这就是典型的顺序程序。
顺序语句最重要的特点就是:
错误:
正确:
错误:
这里会报错,因为计算 total 时,price 和 count 还没有定义。
正确:
这会报错,因为输出 total 时,它还没有被赋值。
正确:
看下面两段代码。
执行过程:
输出:
执行过程:
输出:
两段代码使用的语句很相似,只是顺序不同,结果就不同。
注释不会被 Python 执行。
score = int(input("请输入成绩:"))执行时,Python 会忽略以 # 开头的注释。
注释的作用是帮助人理解代码。
在顺序程序中,注释可以用来标明每一步做什么。
例如:
price = float(input("请输入商品单价:"))count = int(input("请输入购买数量:"))print(f"应付金额:{total:.2f}元")这种写法很适合教学。
空行不会影响程序执行,一般用于分隔不同逻辑。
age = int(input("请输入年龄:"))message = f"{name}今年{age}岁"这里的空行把代码分成了三部分:
空行让代码更好读,但不会改变执行顺序。
Python 允许使用分号 ; 在一行中写多条简单语句。
例如:
a = 10; b = 20; print(a + b)输出:
但是不推荐初学者这样写。
更推荐:
原因:
教学时可以告诉学生:
有时候一条语句太长,可以拆成多行。
输出:
这种写法常用于数据较多时,让代码更整齐。
字典也常这样写:
Python 也可以使用反斜杠 \ 表示一条语句还没有结束。
不过教学和实际开发中,更推荐使用小括号换行,因为更清晰,也更不容易出错。
在最基本的顺序结构中,代码通常顶格写。
如果没有 if、for、while、def、class 等引出代码块的语句,不要随便缩进。
错误:
这会报缩进错误。
缩进一般表示某个代码块的内部内容。
例如:
表达式是能计算出一个结果的代码。
例如:
语句是让程序执行某个操作的代码。
例如:
在顺序程序中,经常会把表达式放到语句中使用。
这里:
是表达式。
是赋值语句。
顺序语句不一定只出现在最外层。
在一个代码块内部,语句也通常是顺序执行的。
例如:
在 if 代码块内部,这三条语句仍然是从上到下顺序执行。
再比如函数内部:
函数体内部的语句也是顺序执行。
所以:
顺序执行是最基本的执行方式,即使在条件、循环、函数内部也存在。
执行顺序:
length = float(input("请输入矩形的长:"))width = float(input("请输入矩形的宽:"))print(f"矩形面积是{area:.2f}")执行顺序:
chinese = int(input("请输入语文成绩:"))math = int(input("请输入数学成绩:"))english = int(input("请输入英语成绩:"))total = chinese + math + englishprint(f"平均分:{average:.2f}")执行顺序:
celsius = float(input("请输入摄氏温度:"))fahrenheit = celsius * 9 / 5 + 32print(f"华氏温度是{fahrenheit:.2f}")这是典型的顺序程序:
下面是一个贴近日常生活的案例。
apple_price = float(input("请输入苹果单价:"))apple_count = float(input("请输入苹果重量:"))banana_price = float(input("请输入香蕉单价:"))banana_count = float(input("请输入香蕉重量:"))apple_total = apple_price * apple_countbanana_total = banana_price * banana_counttotal = apple_total + banana_totalprint(f"苹果金额:{apple_total:.2f}元")print(f"香蕉金额:{banana_total:.2f}元")print(f"总金额:{total:.2f}元")可以让学生按步骤分析:
这个例子能很好体现顺序结构:
错误:
正确:
错误:
total = chinese + math + english正确:
total = chinese + math + english因为 average 依赖 total,所以必须先计算 total。
错误:
如果输入 10 和 20,输出是:
正确:
a = int(input("请输入第一个数:"))b = int(input("请输入第二个数:"))输出:
不推荐:
a=int(input("a:"));b=int(input("b:"));print(a+b)推荐:
后者更适合学习、讲解和调试。
不推荐:
推荐:
变量名清楚,顺序程序就更容易读懂。
不太适合初学者:
print(float(input("请输入单价:")) * int(input("请输入数量:")))更适合教学:
price = float(input("请输入单价:"))count = int(input("请输入数量:"))拆开写更容易理解:
顺序语句虽然简单,但也要写得清楚。
推荐使用:
错误:
报错原因:
name 在使用前没有赋值。
正确:
错误:
正确:
错误:
正确:
age = int(input("请输入年龄:"))
错误:
正确:
没有代码块时,不要随便缩进。
错误:
这里 score == 95 是比较表达式,不是赋值语句。
如果之前没有定义 score,会报错。
正确:
例如“泡茶”:
烧水 -> 放茶叶 -> 倒水 -> 等待 -> 喝茶顺序不能乱。
如果先喝茶,再倒水,就不合理。
对应到程序:
再换成程序常见流程:
可以给学生一个简单口诀:
阅读代码,写出输出结果。
参考答案:
下面代码有什么问题?请改正。
参考答案:
问题是变量 total 在赋值前就被使用。
正确写法:
请让用户输入两个整数,计算并输出它们的和。
参考答案:
a = int(input("请输入第一个整数:"))b = int(input("请输入第二个整数:"))
请让用户输入矩形的长和宽,计算面积。
参考答案:
length = float(input("请输入矩形的长:"))width = float(input("请输入矩形的宽:"))print(f"矩形面积是{area:.2f}")
阅读代码,判断输出结果。
参考答案:
分析:
请把下面代码调整成正确顺序。
total = chinese + math + english参考答案:
total = chinese + math + english
请让用户输入摄氏温度,转换成华氏温度并输出。
公式:
参考答案:
celsius = float(input("请输入摄氏温度:"))fahrenheit = celsius * 9 / 5 + 32print(f"华氏温度是{fahrenheit:.2f}")
下面代码能运行,但为什么不推荐?
参考答案:
虽然能运行,但不推荐,因为一行写多条语句不清晰,不方便阅读和调试。
推荐:
| | |
|---|
NameError | | |
| | |
| input() | |
| | |
| | |
| | |
score == 95 | | |
顺序语句是 Python 程序中最基础的执行方式。
顺序语句的核心特点是:
本节需要重点掌握:
常见顺序语句包括赋值、输入、输出、导入、函数调用等。input() 得到字符串,需要计算时要转换类型。一行写一条主要语句更清晰。合理变量名、空行和注释能让顺序程序更容易理解。一句话概括:
顺序语句就是程序一步一步往下走,先做前面的事,再做后面的事。