好的,但缺点是什么?—— 其它的python折衷:无形的部分 | 第一部分 开始 —— 第 1 章: python q&a 环节 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-380玩彩网官网入口
我注意到执行速度是 python 唯一的主要缺点。对大多数python用户特别是新手确实如此。大多数人都发现python易学,使用起来很有乐趣,特别是和它同时代的语言如java, c# 和c 相比。然而,为了完全的公开,我还应该提前地谈一些我在 python 世界的 20 年中观察到的更抽象的折衷——作为一个教育者和开发者。
作为一名教育者,我有时会发现 python 和它的库变化的速度太快,并且有时会为它多年来的发展而感到悲伤(无能为力)。这是因为培训师和书的作者必须和这些前沿技术保持同步——讲授这门语言是我的工作,尽管变化是持续的,而且这任务有时就像在记录猫群的活动一样困难。尽管如此,这仍然是一个普遍关注的问题。正如我们在本书中将看到的, python 最初的“保持简单”理念现在常常被越来越复杂的方案所取代。这是以新手的学习曲线为代价的。本书的大小(1000 多页)就是这个趋势的间接证据。
另一方面,在大多数的衡量标准上, python 仍然比它的替代语言简单得多。考虑到它今天承担的这么多的角色,或许它只是像它所需要的那么复杂。它的整体一致和开放特点对大多数人来说仍然是很有吸引力的特征。然而,并不是所有人都需要跟向跟上前沿的发展——正如 python 2.x 仍然很受欢迎一样。
作为一名开发者。我有时也会质疑python“开箱即用”的开发方法中固有的折衷。它对预先构建工具的强调可能会增加依赖关系(假如你使用的一个库被改变、损坏或弃用了,该怎么办?),并鼓励特殊情况的380玩彩网官网入口的解决方案,而不是可以更好地长期服务用户的通用原则(如果你不了解一个工具的目的,怎么去评估和使用它?)。我们将在本书中看到这两个问题的例子。
对于普通的用户,特别是爱好者,对于爱好者和初学者,python 工具集方法是一个主要优点。但当你的水平已超出预编码的工具时,你不应该感到惊讶,并且可以从本书旨在传授的技能中受益。或者换句话来说,给人们一个工具,他们会编码一天,教他们如何构建工具,他们会编码一辈子。本书的工作更多的是后者,而不是前者。
就像本章其它地方提到的, python 和它的工具箱模型也容易受到开源项目中普遍存在的缺点的影响——少数人的个人偏好可能会胜过许多人的普遍习惯,以及混乱甚至精英主义的偶尔出现——尽管这些问题通常在新版本发布的前沿表现得最为严重。
在本书的末尾,在掌握了足够的python知识能够得出自己的结论后,我们再回来讨论这些折衷。作为一个开源系统, python 是什么取决于它的用户。最后,python 今天比以任何时候都更受欢迎。它的增长没有减缓的迹象。对一些人来说,这可能是一个比个人意见(不管是支持还是反对)更有说服力的指标。