Python一行流:像专家一样写代码
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

关于可读性的说明

《Python之禅》(The Zen of Python)中包含了Python编程语言的19条指导原则。可以通过在Python命令行里输入import this来阅读它:

如《Python之禅》所言,“可读性很重要(Readability counts)”,单行程序是解决问题的最小化方案,在很多情况下,将一段代码改写为Python单行程序会提升可读性,并使得代码更加Pythonic。例如使用列表解析将创建列表的代码缩短到只有一行。请看下面的例子:

在这个代码片段中,我们需要五行代码来生成头10个平方数的列表,并把它打印到命令行。但如果使用更佳的单行解决方案,就能以一种更易读和简明的方式做到同样的事情:

输出是完全一样的,但单行程序是基于更加Pythonic的概念列表解析来构建的,可读性更高,也更简洁。

然而,Python一行流也可能写得难以理解。在有些情况下,编写单行程序的解决方案,并不会让程序更加可读。但是,正如象棋大师会在动棋之前了解所有可能的行动方案,并决定何为最佳,你也需要了解所有可以表达你的想法的编码方式,如此才能从中选择最好的方式。追求最优美的解决方案不是一件低优先级的事情,而是Python生态系统的核心。正如《Python之禅》所教导的:“优美胜于丑陋。”