1
为何Python这么酷
现在有很多编程语言可以使用。事实上,一个学生即使在大学里学上一整个学期的计算机语言,还是学不完所有的计算机语言(我在大学时就是这么做的)。你可能会觉得这么多语言对程序员来说应该足够了,编写程序时从中选择一种就够了,但他们还是不满足,他们还在不断地发明更多的语言。
程序员不断地创造新语言是有充分理由的。每一种编程语言都有其独特之处以及最擅长的方面。此外,随着计算机技术的发展,编程语言也处在不断发展中。因为创建应用程序完全是为了实现与计算机的高效交流,许多程序员都懂多种编程语言,这样他们可以根据要做的任务选择最合适的语言使用,比如使用某种语言可以更好地从数据库中获取数据,而使用另一种语言则可以创建出更棒的用户界面元素。与其他各种编程语言一样,Python在某些方面做得非常好,开始使用Python之前,你需要了解Python这门语言的优势在哪里。使用Python你能做出很多酷炫的事,这很可能会让你感到惊讶不已。了解一门编程语言的优点和缺点有助于你更好地使用它,还有助于你避免因选错编程语言而带来的挫折。下面的内容将帮助你了解Python,以及判断某个项目是否适合使用Python来做。
2
选用Python的理由
大多数编程语言都是针对特定目标而创建的。这些目标有助于定义语言的特征,并且帮助你搞清楚可以用它来做什么。人们在创建应用程序时有相互竞争的目标和需要,所以实际上没有任何方法可以帮助我们创建出一种能够实现一切目标的编程语言。说到Python这门编程语言,其主要目标是帮助程序员提高编程的工作效率。基于这一点,下面列出了Python的一些优点,它们会让你在创建某个应用程序时首先考虑使用Python。
大大缩短应用程序开发时间:相比于使用C/C++、Java等语言编写的代码,使用Python编写的代码要少2~10倍,也就是说,应用程序的编写时间会大大缩短,你可以拿出更多时间来使用它。
代码易读性强:编程语言像其他语言一样,你需要阅读使用某种编程语言编写的代码,以便了解某段代码的用途是什么。相比于其他编程语言,使用Python编写的程序代码更容易阅读,这意味着你在理解程序代码上花费的时间更少,这样就可以把更多时间投入到代码的修改上。
缩短学习时间:很多编程语言有一些古怪的规则,这让这些编程语言难以学习,Python去掉了这些古怪规则,让人们学习起来更容易,这正是Python创建者想要实现的目标。毕竟,程序员使用编程语言的目标是为创建应用程序,而不是学习什么晦涩难懂的语言。
尽管Python是一种流行的语言,但它并非总是最流行的语言,这取决于你要看哪个站点的比较数据。事实上,它目前在TIOBE等网站上排名第五,TIOBE是一个跟踪使用统计数据(以及其他内容)的组织。不过,如果你查看IEEE Spectrum等网站,你会发现Python在他们看来是居于第一位的语言。而在Tech Rapidly网站十大流行编程语言的排行中,Python位居第三。
如果你学习编程语言只是为了获得一份工作,那么Python将会是一个不错的选择,但Java、C/C++,或者C#或许是更好的选择,这取决于你想要得到什么样的工作。Visual Basic也是一个很好的选择,不过它目前没有Python那么流行。选择编程语言时,一定要选择一种你喜欢并且能够满足应用程序开发需要的语言,同时也要根据你想要实现的目标进行选择。Python在2007年和2010年都是年度最佳语言,在2011年2月最流行的编程语言排名中位居第四位。所以,如果你只是为了找一份工作,那Python的确是一个不错的选择,但不一定是最好的选择。不过,你可能会惊讶地发现,现在许多大学都使用Python来讲解编程,并且Python已经成为教学领域中最流行的语言。
3
Python常见的用途有哪些?
事实上,你可以使用任何编程语言来编写任何类型的应用程序。但是工作中如果你选错了编程语言,那么完成工作的整个过程将是非常缓慢、容易出错且充满bug,你绝对不喜欢这样—但你仍然可以把工作完成。当然,我们大多数人都希望避免这种可怕的痛苦经历,所以你需要了解一下人们通常都使用Python来创建什么样的应用程序。下面列出了Python最常见的一些用途(当然人们还使用Python来做其他事)。
做应用程序的原型:在实际开发应用程序之前,开发人员通常需要创建一个原型(一个粗糙的应用程序样例)。Python十分注重生产效率,你可以使用它快速创建出应用程序的原型。
编写基于浏览器的应用程序:JavaScript是用于编写基于浏览器的应用程序的最流行的语言,而Python紧随其后。Python提供了一些JavaScript不具备的功能,Python的高效性让我们可以更快地创建出基于浏览器的应用程序(这在当今快节奏的世界中绝对是个很棒的优势)。
编写数学、科学、工程应用程序:有趣的是Python拥有一些非常酷的库,这些库使创建数学、科学和工程应用程序变得更容易。其中,两个最流行的库是NumPy和SciPy。在编程过程中,使用这些库会大大减少你编写专用于执行常见的数学、科学和工程任务的代码的时间。
处理 XML:可扩展标记语言(XML)是当今互联网和许多桌面应用程序中大多数数据存储的基础。在大多数语言中,XML只是其中一颗小小的螺丝钉,而在Python中,XML则是“一等公民”。如果你需要使用We b服务(互联网上交换信息的主要方法),Python将是一个很好的选择。
与数据库交互:商业高度依赖数据库。虽然Python并不是一种类似于结构化查询语言(SQL)或语言集成查询(LINQ)的查询语言,但是它在与数据库交互方面做得很好,并且使创建连接和操作数据相对轻松。
开发用户界面:在C#等编程语言中,一般都内置有设计器,你可以直接从工具箱中将界面元素拖曳到用户界面中,Python和这些语言不同,它有大量的图形用户界面(GUI)框架,利用这些框架,我们可以更容易地创建用户图形界面。这些框架中有一些有设计人员参与设计,这使得用户界面的创建过程变得更容易。重点是Python提供了多种创建用户界面的方法—你可以根据自身需要选用最适合的方法
4
有哪些组织使用Python
Python的确很擅长做分内之事。这其实就是许多大型组织使用Python做某些应用程序开发的原因所在。你需要一种编程语言,它受到这些大型组织的良好支持,因为这些组织往往会花钱让这种语言变得更好。表1-1列出了使用Python最多的大型组织。
上面这些只是众多使用Python的组织中的一小部分,你可以在Python官网找到一个更完整的组织列表。成功案例很多,列表不足以把它们全部列出来,因此官方以分类的方式来更好地组织它。
5
Python与其他语言比较
把一种语言和另一种语言进行比较有些不妥,因为语言的选择不只是一个可量化的科学事实,同时也与个人的口味和偏好有关。为了避开语言狂热者的攻击,在开始讲解如下内容之前,我先做个重要说明,那就是我也用过很多编程语言,并且发现它们之间有一些层面上是相似的。这个世界上没有十全十美的语言,只有最适合特定应用的语言。基于这个想法,下面我们将Python和其他编程语言大致进行比较(你可以进一步了解Python与其他各种语言的比较情况)。
1. C#
许多人说C#语言是微软简单模仿Java的产物。尽管如此,相比于Java,C#确实有一些优点(和缺点)。C#背后的主要意图(无可争议)是创建一种比C/ C++更好的语言—一种更容易学习和使用的语言。不过,我们要在这里将C#和Python进行比较。与C#相比,Python有以下优点:
更容易学习;
代码更少(更简洁);
开源且受全面支持;
多平台支持更好;
允许使用多个开发环境;
更容易使用Java和C/C++扩展;
拥有众多强大的科学计算和工程库支持。
2. Java
多年来,程序员一直在寻找一种编程语言,使用这种编程语言,你只需编写一次应用程序,即可让它运行在多种平台之下。Java就是一种跨平台的编程语言,为此Java需要使用一些技巧,相关内容你会在本书后面了解到。而现在,你只需要知道:Java可以成功地运行在各种平台之下,其他各种编程语言都在试图模仿Java这一特性(模仿的成功程度各不相同)。尽管如此,与Java相比,Python还是拥有如下一些优势:
更容易学习;
代码量更少(更简洁);
增强型变量(计算机内存中的存储盒子),运行时根据应用程序的需求存储不同类型的数据(动态类型);
开发时间更短。
3. PerlPer
最初是“实用报表提取语言”(Practical Extraction and Report Language)的首字母缩写。现在,人们简单地称这种语言称为Perl,并且一直沿用下去。不过,Perl语言本身仍然表现出明显的发明初衷,它很擅长从数据库中获取数据并以报告的形式呈现数据。当然,现在Perl已经扩展了很多功能—你可以使用它来编写各种应用程序(我甚至还用它编写了一个We b服务程序)。相比于Perl,Python拥有如下优点:
更容易学习;
更容易阅读;
数据的增强型保护;
能够与Java更好的集成;
跨平台性能更好。
4. R
在数据处理领域,数据科学家通常很难在R和Python之间做出选择,因为这两种语言都擅长做统计分析和各种图表(数据科学家通过这些图表来了解数据模式)。这两种语言都是开源的,并且支持大量平台。不过,相比于Python,R语言的专用性更强,更多用在学术研究领域。和R语言相比,Python拥有如下优势:
强调生产效率和代码的可读性;
为企业设计使用;
调试更容易;
使用一致的编码技术;
灵活性更好;更容易学习。
以上内容来自《从零开始学Python(第2版)》
《从零开始学Python(第2版)》
作者:John Paul Mueller
扫码查看书籍详情
本书特色如下:
本书面向零基础读者,巧用类比式描述,技术知识点轻松掌握;
基于案例进行讲解,读者可轻松理解编程思维,并在配套代码中参透Python编程的技巧。
本书囊括5项常见任务,助力快速掌握Python。除此之外,书中还有一系列的Python周边小知识,教你更好地掌握Python,活学活用Python。
扫码或者点击阅读原文购买
购买前可以先领券哦
优惠券领取二维码