Python与各个编程语言对比


通常情况下,当你使用某种编程语言时,其他人都会问你选择这种语言的原因。为什么不用 X 或 Y 呢? X 或 Y 的选择有许多,这取决于提问者都知道哪些语言,也取决于他是不是一个狂热的开发者。要试着理解他们问这个问题的原因,也最好思考一下自己的回答:为什么选择 Python ?本附录将对比 Python 和其他有用的编程语言,你可以据此回答上述问题,也可以深入理解我们选择编程语言的理由。
A.1 C、C++、Java与Python
与 C、C++ 和 Java 相比,Python 很容易学习,特别是对没有计算机背景的人来说。许多和你起点相同的人已经可以开发插件和有用的工具,使 Python 在数据科学和数据处理领域更加强大、更加高效。至于技术性差异,Python 是一种高级语言,而 C 和 C++ 是低级语言。Java 是高级语言,但又有一些低级语言的特性。这是什么意思?高级语言将与计算机架构的交互抽象化,你可以输入代码字(code word,比如 for 循环或变量定义),高级语言会将其编译成计算机可以执行的代码,而低级语言会直接处理这些代码字。与高级语言相比,低级计算机语言的运行速度更快,可以更直接地控制系统,从而优化内存管理等。高级语言更容易学习,因为它已经帮你完成了大多数低级别的任务。对于大部分的练习而言,不需要系统控制,也不需要将运行时间缩短数秒,所以我们不需要用到低级语言。虽然 Java 也是高级语言,但它的学习难度比 Python 更高,你需要更长时间才能上手。
A.2 R或MATLAB与Python
Python 有许多库(补充代码),能够实现与 R 和 MATLAB 相同的功能。这些库的名字是 pandas(http://pandas.pydata.org/) 和 numpy(http://www.numpy.org/)。 这 些 库 可 以 处理与大数据和统计分析相关的任务。如果你想学习更多这方面的内容,你应该查阅 WesMcKinney 的《利用 Python 进行数据分析》一书。如果你在 R 或 MATLAB 方面有较强的专业背景,可以继续用这些工具来处理数据。在这种情况下,Python 是一个很好的补充工
具。但是,用同一种语言负责工作流程中的每一个环节,可以让数据处理过程更容易,维护起来也更加方便。同时学习 R(或 MATLAB)和 Python,你可以根据具体项目需求来选择使用哪种语言,这样可以更好地满足项目的需求,也更加方便。
A.3 HTML与Python
解释为什么不用 HTML 处理数据,就如同解释为什么不把水放到油箱里一样,你就是不会这么做。HTML 的用途不在于此。HTML 代表 HyperText Markup Language(超文本标记语言),用来为浏览器中显示的网页提供基本结构。我们在第 3 章中讨论过 XML,与此类似,我们也可以用 Python 解析 HTML,但反过来却不行。
A.4 JavaScript与Python
JavaScript 是一种向网页添加交互与功能的语言,不要与 Java 混为一谈。JavaScript 运行在浏览器中。Python 与浏览器分离,运行在计算机系统上。Python 有大量库,可以充实数据分析的功能。JavaScript 具有与浏览器相关的额外功能。你可以利用 JavaScript 抓取网络数据并创建图表,但无法用于统计汇总。
A.5 Node.js与Python
Node.js 是一个 Web 平台,而 Python 是一种语言。有许多用 Python 编写的框架与 Node.js 类似,像 Flask 和 Django,但 Node.js 是用 JavaScript 语言编写的。Node.js 主要用的是JavaScript,所以你可以用 JavaScript 作为后端语言。如果你后端用的是 Flask 或 Django,你可能需要学习 JavaScript 来处理前端需求。Python 更方便、更容易学习,还有现成的数据处理库。正因为这一点,我们选择用 Python。
A.6 Ruby和Ruby on Rails与Python
你可能听说过 Ruby on Rails,这是基于 Ruby 语言的一个流行的 Web 框架。Python 也有许多框架:Flask、Django、Bottle、Pyramid 等,Ruby 也经常不用于 Web 框架。我们之所以选择 Python,是因为它快速的数据处理能力,而不是因为它的 Web 框架能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值