本文目录导读:
我来为你写几个典型的Python语法错误案例,每个都附带出错原因和修正方法。
缩进错误(最常见)
# ❌ 错误案例1:缩进不一致
def hello():
print("Hello") # 缩进4个空格
print("World") # 缩进6个空格 - 不一致
# ❌ 错误案例2:缺少缩进
if True:
print("这段代码会报错") # 缺少缩进
# ✅ 正确写法
def hello():
print("Hello")
print("World")
if True:
print("这段代码正常执行")
冒号遗漏
# ❌ 错误案例
if True # 缺少冒号
print("条件为真")
for i in range(5) # 缺少冒号
print(i)
# ✅ 正确写法
if True:
print("条件为真")
for i in range(5):
print(i)
括号不匹配
# ❌ 错误案例
print("Hello" # 缺少闭合括号
result = (1 + 2 * (3 + 4) # 括号数量不匹配
# ✅ 正确写法
print("Hello")
result = (1 + 2) * (3 + 4)
字符串引号问题
# ❌ 错误案例1:引号类型混杂
print("这是一个"特殊"字符串") # 引号嵌套错误
# ❌ 错误案例2:多行字符串未换行
text = "这是第一行
这是第二行" # 普通字符串不能换行
# ✅ 正确写法
print("这是一个\"特殊\"字符串") # 使用转义字符
print('这是一个"特殊"字符串') # 使用单引号包裹
text = """这是第一行
这是第二行""" # 使用三引号
变量命名错误
# ❌ 错误案例 123number = 10 # 不能以数字开头 my-variable = 20 # 不能使用连字符 if = 30 # 不能使用关键字 class = "Python" # class是保留关键字 # ✅ 正确写法 number123 = 10 my_variable = 20 condition = 30 course = "Python"
运算符错误
# ❌ 错误案例
result = 10 = 5 # 赋值运算符写错
if x = 5: # 条件判断中用单等号
print("x等于5")
# ✅ 正确写法
result = 10 == 5 # 比较使用双等号
if x == 5: # 使用双等号比较
print("x等于5")
列表/字典语法错误
# ❌ 错误案例
numbers = [1, 2, 3, ] # 多了一个逗号(虽然有时合法但不推荐)
my_dict = {"name": "Tom" "age": 20} # 字典元素间缺少逗号
# ✅ 正确写法
numbers = [1, 2, 3]
my_dict = {"name": "Tom", "age": 20}
函数定义错误
# ❌ 错误案例
def add(a, b) # 缺少冒号
return a + b
def sum_numbers(*args, **kwargs, x): # *args必须放在最后
pass
# ✅ 正确写法
def add(a, b):
return a + b
def sum_numbers(x, *args, **kwargs):
pass
注释问题
# ❌ 错误案例
print("Hello") 这是注释吗? # 注释前需要#号
# ✅ 正确写法
print("Hello") # 这是正确的注释
模块导入错误
# ❌ 错误案例 import math # 正确 print(math.pi) import math # 语法上正确,但重复导入 import math # 重复导入不会报错,但代码不简洁 # ✅ 正确写法 import math print(math.pi) # 只需要导入一次
练习题
试着找出下面代码中的语法错误:
# 练习1
def calculate_area(radius
return 3.14 * radius ** 2
# 练习2
numbers = [1,2,3,4,5
total = 0
for num in numbers
total += num
# 练习3
if score >= 60
print("及格")
elif score >= 80
print("良好")
else
print("不及格")
答案:
- 练习1:
radius后面缺少 和 - 练习2:
numbers列表缺少 ,for语句缺少 - 练习3:每个条件语句后面都缺少
编写这些错误案例时,注意观察Python的报错信息,它会提示错误类型和行号,这对调试非常有帮助。
标签: 错误示例