2.5 注释
在大多数编程语言中,注释是一项很有用的功能。本书前面编写的程序中都只包含 Python代码,但随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题 的方法进行大致的阐述。注释 让你能够使用自然语言在程序中添加说明。
2.5.1 如何编写注释
在Python中,注释用井号(# )标识。井号后面的内容都会被Python解释器忽略,如下 所示: comment.py # 向大家问好。 print("Hello Python people!") Python解释器将忽略第一行,只执行第二行。 Hello Python people!
2.5.2 该编写什么样的注释
编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各 个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了。当然,你总 是可以通过研究代码来确定各个部分的工作原理,但通过编写注释以清晰的自然语言对 解决方案进行概述,可节省很多时间。 要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件 是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源 项目的人员。训练有素的程序员都希望代码中包含注释,因此你最好从现在开始就在程 序中添加描述性注释。作为新手,最值得养成的习惯之一就是在代码中编写清晰、简洁 的注释。 如果不确定是否要编写注释,就问问自己:在找到合理的解决方案之前,考虑了多个解 决方案吗?如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头去 再添加注释,删除多余的注释要容易得多。从现在开始,本书的示例都将使用注释来阐 述代码的工作原理。 动手试一试 练习2-10:添加注释 选择你编写的两个程序,在每个程序中至少添加一条注释。 如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当 前日期,再用一句话阐述程序的功能。
2.6 Python之禅
经验丰富的程序员倡导尽可能避繁就简。Python社区的理念都包含在Tim Peters撰写的 “Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需在解释器中 执行命令import this 。这里不打算赘述整个“Python之禅”,而只与大家分享其中 的几条原则,让你明白为何它们对Python新手来说至关重要。 >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Python程序员笃信代码可以编写得漂亮而优雅。编程是要解决问题的,设计良好、高效 而漂亮的解决方案都会让程序员心生敬意。随着你对Python的认识越来越深入,并使用 它来编写越来越多的代码,有一天也许会有人站在你后面惊呼:“哇,代码编写得真是 漂亮!” Simple is better than complex. 如果有两个解决方案,一个简单、一个复杂,但都行之有效,就选择简单的解决方案 吧。这样,你编写的代码将更容易维护,你或他人以后改进这些代码时也会更容易。 Complex is better than complicated. 现实是复杂的,有时候可能没有简单的解决方案。在这种情况下,就选择最简单可行的 解决方案吧。 Readability counts. 即便是复杂的代码,也要让它易于理解。开发的项目涉及复杂代码时,一定要为这些代 码编写有益的注释。
There should be one-- and preferably only one --obvious way to do it. 如果让两名Python程序员去解决同一个问题,他们提供的解决方案应大致相同。这并不 是说编程没有创意空间,而是恰恰相反!然而,大部分编程工作是使用常见解决方案来 解决简单的小问题,但这些小问题都包含在更庞大、更有创意空间的项目中。在你的程 序中,各种具体细节对其他Python程序员来说都应易于理解。Now