Skip to content

代码块与缩进

在传统的编程语言,例如 C++ 或 Java 中,代码组织方式通常是使用代码块。

所谓代码块,就是一组相关的语句,它们被包裹在花括号 {} 中,并按照顺序依次执行。

举个例子,下面的 C++ 和 Java 代码片段展示了如何根据输入值 x 的大小来进行不同的操作:

C++ 示例

c++
if (x < 10) {
    cout << "x is less than 10" << endl;
    if (x <= 5) {
        cout << "x is less than or equal to 5" << endl;
    }
    else {
        cout << "x is more than 5 but less than 10" << endl;
    }
}
else {
    cout << "x is not less than 10" << endl;
}

Java 示例

java
if (x < 10) {
    System.out.println("x is less than 10");
    if (x <= 5) {
        System.out.println("x is less than or equal to 5");
    }
    else {
        System.out.println("x is more than 5 but less than 10");
    }
}
else {
    System.out.print("x is not less than 10");
}

你会注意到,为了提高代码的可读性,我们通常会对代码进行缩进(即在行的开头添加空格或制表符)。虽然 C++ 和 Java 编译器并不强制要求缩进,但良好的缩进习惯能够让代码更容易理解和维护。

Python 的缩进哲学

Python 从代码块的概念中汲取了灵感,但采用了一种更加简洁和强制性的方式:缩进即语法

在 Python 中,代码块完全依赖于行首的缩进量来定义。通常,我们使用 4 个空格 (强烈推荐!) 或者一个制表符 (Tab 键) 来表示一个缩进级别。 这种缩进方式不仅使代码看起来更整洁,而且直接决定了代码的逻辑结构。

以下是用 Python 实现的与前面 C++/Java 示例相同功能的代码:

python
if x < 10:
    print("x 小于 10")
    if x <= 5:
        print("x 小于或等于 5")
    else:
        print("x 大于 5 但小于 10")
else:
    print("x 不小于 10")

请注意,ifelse 语句下面的代码块都进行了缩进。Python 解释器会根据这些缩进来判断哪些语句属于同一个代码块,从而正确地执行程序。 缩进不一致会导致 IndentationError,这是 Python 初学者经常遇到的错误之一。 因此,请务必保持代码缩进的一致性!