<< >>

diveintopython.org |

Python for experienced programmers

## 1.5. 缩排代码

Python函数没有明显的 `begin` 或 `end`，或任何括号或大括号，可以标识函数从哪里开始，又在哪里结束。唯一的分隔是通过一个冒号(:)和代码本身的缩排来表示。

例 1.6. 缩排 `buildConnectionString` 函数

    def buildConnectionString(params):
        """Build a connection string from a dictionary of parameters.

        Returns string."""
        return ";".join(["%s=%s" % (k, params[k]) for k in params.keys()])

代码块(函数，`if` 语句，`for` 循环，等等)通过它们的缩排来定义。缩排表示块的开始，非缩排表示结束，不存在明显的括号，大括号，或关键字。这就意味着空白是有意义的，并且要一致。在这个例子中，函数代码(包括文档字符串)缩近了4个空格。不一定非要是4个，只要一致就可以了。第一行没有缩近，则不算在函数内。

在经过开始的一些反对和同Fortran相比后的挖苦之后，你将会心平气和地对待它，开始理解它的好处。一个主要的好处是，所有的Python程序看上去差不多，因为缩排是语言的要求而不是风格问题。这样就更容易阅读和理解他人的Python代码。

进一步阅读 |

- Python Reference Manual 讨论了交叉平台缩排问题和展示了多种缩排错误。
- Python Style Guide 讨论了好的缩排风格。

« 每个都是对象 | 测试模块 »