Python程序设计
上QQ阅读APP看书,第一时间看更新

1.1.1 Python语言简介

1.1.1 Python语言简介

1.Python的优缺点

(1)Python的优点

1)Python的定位是“优雅”“明确”“简单”,所以Python程序看上去简单易懂,初学者学Python,不但入门容易,而且深入学习后,可以编写非常复杂的程序。

2)开发效率非常高。Python有非常强大的第三方库,基本上想通过计算机实现的任何功能,Python官方库里都有,相应的模块都支持,直接下载调用后,在基础库的基础上再进行开发,大大缩短了开发周期,避免重复编程。

3)Python是面向对象的高级语言,支持将代码封装在对象中的编程技术。

4)Python是解释型语言,开发过程中没有编译环节。

5)Python是交互式语言,可以在Python提示符后直接互动执行代码。

6)免费、开源是Python被广泛使用的原因之一,程序员可以免费使用许多程序,而不存在版权问题。

7)基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

8)可扩展性。如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,可以使用C或C++完成那部分程序,然后在Python程序中调用。

9)Python提供所有主要商业数据库的接口。

10)Python支持GUI(Graphics User Interface,图形用户界面),可以创建和移植到许多系统调用。

(2)Python的缺点

1)代码不能加密。因为Python是解释型语言,它的源代码都是以明文形式存放的(不过,这不能算是一个缺点)。

2)多线程支持度不高。

3)速度慢。Python相对C语言慢很多,但其实大多数时候用户是无法感知的。

4)Python作为解释型动态语言,通常需要程序员自查代码安全。而Java和C等静态类型语言,这些问题会在编译时检查出来。

5)由于Python是由业余人士逐渐增强的语言,相对Java、C#等语言,缺乏整体设计,造成规范繁杂、混乱。

2.Python的应用领域

1)系统编程。Python提供API(Application Program Interface,应用程序接口),能方便地进行系统维护和管理,很多系统管理员认为它是理想的编程工具。

2)图形界面开发。Python在图形界面开发方面很强大,可以用Tkinter/PyQT框架开发各种桌面软件。

3)科学计算。Python是一门很适合做科学计算的编程语言。NumPy、SciPy、Matplotlib、Enthought librarys等众多程序库的开发,使得Python越来越适合做科学计算并绘制高质量的二维和三维图像。

4)文本处理。Python提供的re模块支持正则表达式,还提供SGML、XML分析模块,许多程序员利用Python进行XML程序的开发。

5)数据库编程。可通过Python DB-API(数据库应用程序接口)规范的模块与Microsoft SQL Server、Oracle、Sybase、DB2、MySQL、SQLite等数据库通信。另外,Python自带一个Gadfly模块,提供了一个完整的SQL环境。

6)网络编程。Python提供丰富的模块支持Socket编程,能方便快速地开发分布式应用程序。

7)Web开发。Python拥有很多免费函数库、免费Web网页模板系统,以及与Web服务器进行交互的库,可以实现Web开发,搭建Web框架。

8)自动化运维。Python是运维人员广泛使用的语言,能满足绝大部分自动化运维需求,包括前端和后端。

9)金融分析。利用Numpy、Pandas、Scipy等数据分析模块,可快速完成金融分析工作。目前,Python是金融分析、量化交易领域使用最多的语言。

10)多媒体应用。Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。

11)网络爬虫。在爬虫领域,Python几乎是霸主地位,提供了Scrapy、Request、BeautifulSoap、urllib等工具库,将网络中的一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。

12)游戏开发。Python在网络游戏开发中也有很多应用。Python非常适合编写1万行代码以上的项目,而且能够很好地把网游项目的规模控制在10万行代码以内。

13)人工智能。NASA和Google早期大量使用Python,为Python积累了丰富的科学运算库。当AI(Artificial Intelligence,人工智能)时代来临后,Python从众多编程语言中脱颖而出,各种AI算法都基于Python编写。在神经网络、深度学习方面,Python都能够找到比较成熟的程序包来加以调用。另外,Python是面向对象的动态语言,适用于科学计算,这就使得Python在人工智能方面备受青睐。