Python 中的 IndentationError: unexpected indent 错误
IndentationError: unexpected indent 是 Python 中常见的缩进错误,表示代码中出现了意外的缩进(空格或制表符)。
错误原因
这个错误通常发生在以下几种情况:
代码块开始处不必要的缩进:
def foo():
print("Hello")  # 这行应该缩进但没有
    print("World")  # 这行缩进了但前面一行没有
缩进不一致(混用空格和制表符):
if True:
    print("Spaces")  # 使用4个空格
    print("Tab")     # 使用制表符(\t)
在不需要缩进的地方添加了缩进:
    x = 10  # 顶格代码不应该缩进
多级缩进时缩进量不一致:
if True:
    print("Level 1")
      print("Level 2")  # 缩进量突然增加
解决方法
检查并统一缩进风格:
选择使用空格(推荐)或制表符,不要混用
Python 官方推荐使用4个空格作为一级缩进
使用代码编辑器的显示空白字符功能
大多数现代编辑器可以显示空格和制表符
确保所有缩进是一致的
检查所有代码块的开始和结束:
确保 if, for, while, def, class 等语句后的代码块正确缩进
确保代码块结束后回到正确的缩进级别
使用自动格式化工具:
使用 autopep8 或 black 等工具自动格式化代码
pip install autopep8
autopep8 --in-place --aggressive your_script.py
正确示例
def calculate_sum(a, b):
    # 函数体缩进一级
    result = a + b
    if result > 10:
        # if语句内缩进二级
        print("Large sum")
    return result  # 回到一级缩进

# 顶格代码没有缩进
print(calculate_sum(5, 7))
记住,Python 使用缩进来定义代码块结构,而不是像其他语言使用大括号,因此正确的缩进对 Python 至关重要。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐