什么是语句?
在编程中,语句 是一个完整的指令,告诉计算机要执行一个特定的操作,你可以把它想象成自然语言中的一个完整的句子,它表达了一个完整的思想。

在 Python 中,一条语句通常占据一行,并以换行符结束。
x = 10 # 这是一个赋值语句 print(x) # 这是一个函数调用语句
Python 也有一种特殊的语法,允许你将多条简单的语句写在同一行,语句之间用分号()隔开。
# 一行包含多条语句 a = 1; b = 2; print(a + b) # 输出: 3
注意:虽然技术上可行,但在实际开发中,强烈建议每行只写一条语句,这样做可以提高代码的可读性,使其更易于维护和调试。
Python 语句的主要类型
Python 的语句非常丰富,可以根据它们的功能进行分类,以下是几种最常见的语句类型:
表达式语句
这是最常见的一类语句,一个表达式(由变量、字面量、运算符、函数调用等组成)本身就是一条语句,因为它会产生一个值或执行一个操作。
# 赋值语句
name = "Alice"
age = 30
pi = 3.14159
# 函数调用语句
print("Hello, World!")
len(name)
# 方法调用语句
name.upper()
赋值语句
用于将值赋给变量,Python 支持多种赋值形式。
# 基本赋值 x = 10 # 多重赋值(同时为多个变量赋值) a, b, c = 1, 2, 3 # 链式赋值(将同一个值赋给多个变量) x = y = z = 0 # 增量赋值 x = 5 x += 10 # 等同于 x = x + 10 # 解包赋值(常用于函数返回值或迭代) data = [100, "hello", 3.14] num, text, floating = data
条件语句
根据条件的真假来执行不同的代码块,核心是 if, elif, else。
age = 20
if age < 18:
print("你是未成年人")
elif age < 60:
print("你是成年人")
else:
print("你是老年人")
循环语句
用于重复执行一段代码,主要有 for 循环和 while 循环。
for 循环:通常用于遍历序列(如列表、元组、字符串、字典等)或其他可迭代对象。
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 使用 range()
for i in range(5): # 输出 0, 1, 2, 3, 4
print(i)
while 循环:只要条件为 True,就一直循环执行。
count = 0
while count < 5:
print(f"Count is: {count}")
count += 1
跳转语句
用于改变程序的正常执行流程。
-
break:立即终止当前所在的循环(for或while),程序跳转到循环块之后的下一条语句。for i in range(10): if i == 5: break # 当 i 等于 5 时,循环终止 print(i) # 输出: 0, 1, 2, 3, 4 -
continue:立即结束当前循环的本次迭代,并跳转到下一次迭代的开头。for i in range(10): if i % 2 == 0: continue # i 是偶数,跳过本次迭代,不执行 print print(i) # 输出: 1, 3, 5, 7, 9 -
pass:空语句,它不执行任何操作,主要用作占位符,当你需要一个语法上需要语句,但逻辑上又不需要任何操作时,pass就非常有用。# 示例1:函数骨架 def my_function(): pass # 函数还未实现,但 pass 使其语法正确 # 示例2:条件分支 x = 10 if x > 5: pass # 未来可能在这里添加代码,但目前什么都不做 else: print("x is not greater than 5")
导入语句
用于导入模块(其他 Python 文件)或模块中的特定功能。
# 导入整个模块 import math print(math.sqrt(16)) # 输出: 4.0 # 导入模块中的特定函数/类 from math import pi, sin print(pi) # 输出: 3.141592653589793 print(sin(pi/2)) # 输出: 1.0 # 导入模块并赋予别名 import numpy as np # 现在可以使用 np 来调用 numpy 的功能
定义语句
用于定义函数和类。
-
def:定义一个函数。def greet(name): """这是一个简单的问候函数""" return f"Hello, {name}!" message = greet("Bob") print(message) -
class:定义一个类。class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def bark(self): return "Woof!" my_dog = Dog("Rex", "German Shepherd") print(my_dog.bark())
异常处理语句
用于处理程序运行时可能发生的错误,防止程序崩溃。
try:
# 尝试执行这段可能出错的代码
num = int(input("请输入一个数字: "))
result = 10 / num
print(f"结果是: {result}")
except ValueError:
# 如果用户输入的不是数字,捕获 ValueError
print("错误:请输入一个有效的整数!")
except ZeroDivisionError:
# 如果用户输入了 0,捕获 ZeroDivisionError
print("错误:不能除以零!")
finally:
# 无论是否发生异常,这里的代码都会执行
print("程序执行完毕。")
复合语句 vs. 简单语句
Python 官方文档通常将语句分为两类:
- 简单语句:通常在一行内完成,以换行符或分号结束,赋值、
pass、break、import、return等。 - 复合语句:由一个或多个子句组成,每个子句都包含一个头部(以冒号 和一个 suite(缩进的代码块)。
if、for、while、def、class、try等。
# 这是一个复合语句
if x > 0: # 头部
print("x is positive") # suite
y = x * 2
# 这是一个简单语句
print("Done.")
| 语句类型 | 关键字 | 描述 | 示例 |
|---|---|---|---|
| 表达式语句 | - | 产生值或执行操作的完整指令。 | x = 10print("Hello") |
| 条件语句 | if, elif, else |
根据条件执行不同代码块。 | if age > 18: ... |
| 循环语句 | for, while |
重复执行代码块。 | for i in range(5): ...while True: ... |
| 跳转语句 | break, continue, pass |
改变程序执行流程。 | break (退出循环)continue (跳过本次)pass (空操作) |
| 定义语句 | def, class |
定义函数和类。 | def my_func(): ...class MyClass: ... |
| 导入语句 | import, from |
导入模块或功能。 | import osfrom math import sqrt |
| 异常处理 | try, except, finally |
捕获和处理运行时错误。 | try: ... except ValueError: ... |
理解并熟练运用这些不同类型的语句,是编写结构清晰、逻辑正确的 Python 程序的基础。
