Python 编程:从入门到实践(三十六):基础知识——变量和简单数据类型 2.6

阅读数:16 2019 年 10 月 19 日 13:02

Python编程:从入门到实践(三十六):基础知识——变量和简单数据类型 2.6

(Python 之禅)

编程语言 Perl 曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是 Perl 脚本。彼时,“解决问题的办法有多个”被 Perl 社区奉为座右铭。这种理念一度深受大家的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终认识到,过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。

经验丰富的程序员倡导尽可能避繁就简。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 is better than never.

你可以将余生都用来学习 Python 和编程的纷繁难懂之处,但这样你什么项目都完不成。不要企图编写完美无缺的代码;先编写行之有效的代码,再决定是对其做进一步改进,还是转而去编写新代码。

等你进入下一章,开始研究更复杂的主题时,务必牢记这种简约而清晰的理念。如此,经验丰富的程序员定将对你编写的代码心生敬意,进而乐意向你提供反馈,并与你合作开发有趣的项目。

动手试一试
2-11 Python 之禅:在 Python 终端会话中执行命令import this,并粗略地浏览一下其他的指导原则。

评论

发布