为什么使用Python

发表时间:2020-02-18

笔者是一个使用Python十几年的老猿,其间使用Python完成了很多各种各样的工作,有网络爬虫、网站应用、自然语言处理和系统运维自动化等方面。深深感受到Python的便捷给工作带来的高效率,也希望这种高效率能带给更多的人,包括程序员也包括非程序员。
近几年,Python的发展非常快,无论是语言本身的完善提高,还是各行各业的应用都有十足的进步。于是,笔者紧跟最新的Python 3.7的特性,并结合自己这些年来学习和使用Python的体会,来撰写这个Python教程,希望能带领Python门外汉进入Python编程的世界,也希望能帮助有些Python基础的人们进一步提升对Python的掌握,也希望自己在撰写的过程中对Python有更加全面深入的理解,希望能和这部教程的所有读者一起交流和分享,一起学习和进步。

为什么使用Python

Python是什么

Python(英式发音:/ˈpaɪθən/, 美式发音:/ˈpaɪθɑːn/)的英文原意思蟒蛇。在计算机领域,它是一种被广泛使用的高级编程语言,具有现在高级编程语言的特性,完全面向对象,其中的函数、模块、数字、字符串都是对象。

Python通常被称作“脚本语言”。这是因为它同Perl、Ruby等语言一样是动态类型编程语言,动态型语言的特性使它具有动态类型系统和垃圾回收机制,能够自动管理内存,那么编程者就可以专注在程序的思想和逻辑上,可以更快速的实现程序功能。

动态语言的运行需要一个叫做“解释器”(interpreter)的“中间人”程序,它能够把高级编程语言一行一行地解释运行。每次运行动态语言编写的程序时,都要先通过解释器这个“中间人”解释转换成字节码(Bytecode)并运行这些字节码,因此运行速度比较慢。但是,

请不要纠结Python运行速度慢,要充分利用Python的方便快捷

合适的工具可以达到事半功倍的效果

Python的设计哲学就是“优雅”、“明确”、“简单”,让开发者“用一种方法,最好是只有一种方法来做一件事”。Python 这种崇尚简洁的哲学,再加上多年积攒下来的库(模块),让开发者如虎添翼快捷的完成很多工作。

Python的运行速度慢是经常被人诟病的,但是它很好的支持用C、C++进行扩展,把计算耗时的算法用C、C++实现并编译成Python模块供其调用,可以大大提高运行速度。这种支持其它语言扩展的特性就像胶水一样,把不同的语言仅仅连接在一起,因此,Python也被成为“胶水语言”。

Python由荷兰程序员吉多·范罗苏姆(荷兰语:Guido van Rossum,国人亲切称之“龟叔”)创造。那是1989年的圣诞节期间,为了打发无聊的时间就创造了Python这门语言,今天我们也就有了这个方便快捷的工具来完成各种各样的工作。

让我们认识一下龟叔吧:
Guido_van_Rossum_OSCON_2006

Python第一版发布于1991年,相信已经比大多数小猿们老了。近30年的发展,主要成就了两个主要的版本:Python 2 和 Python 3。2和3的变化有点大,不完全兼容。近十多年来,两个版本共同存在并行发展。时至今日,Python 3 已经发展完善,而Python 2 功成名就即将退出历史舞台,官方将于2020年1月1日停止对它的维护。好奇的小猿们可以到 官方的倒计时网站 去围观一下。

Python解释器是根据其语法规则编写的解释程序,它有很多中不同的实现。

  • CPython 官方的Python解释器,也是最常用的Python,需要区别其它解释器时才被叫做CPython。用C编写,新的语言特性也通常先在这里实现。
  • PyPy 使用Python语言写的Python,没错它实现了自我繁殖。最大特点是使用JIT(Just-in-Time Compiler,及时编译器),速度比CPython要快。
  • Jython 原名JPython,用Java实现的Python解释器。它的特点是,可以直接调用Java的各种库。
  • IroPython 面向.NET和ECMA CLI的Python实现,能够直接调用.NET平台的各种函数库,可以把Python程序编译成.NET程序。

Python能做什么

Python是开源、免费、跨平台(Windows、Linux、macOS等等)的编程语言,这三个特性使得它有非常广泛的应用。我们先看看TIOBE的编程语言流行度趋势图:
TIOBE编程语言流行度趋势

在2018年12月份的最新排名中,Python已经位居第三:
TIOBE编程语言TOP-10

Python的主要应用领域有:

Web程序(网站开发)

Python有非常丰富的Web框架,如Django、Toronado、Flask、Sanic等,可以让程序员轻松开发Web程序。

人工智能

近几年人工智能的火爆也带动了Python的火热。由于Python的简洁及其胶水特性,用于人工智能的深度学习框架如Google的TensorFlow、Facebook的PyTorch和国人主导开发的MxNet等无一例外地都选择了Python作为其上次操作语言,让深度学习模型调试变得非常容易。

网络爬虫

网络爬虫最初的应用就是为搜索引擎抓取数据,而在大数据时代,人们对数据垂涎三尺,通过各种网络爬虫从互联网上收集自己想要的数据。如果想进一步了解Python爬虫,可以详细阅读猿人学的 Python爬虫教程

科学计算和数据分析

Python拥有非常成熟的模块用于科学计算和数据分析,这里有大名鼎鼎的Numpy用于多维数组和矩阵计算,有建立在Numpy之上的SciPy科学计算库, 也有基于Numpy的用于解决数据分析问题的Pandas,数据可视化会图库Matplotlib。这些模块使得Python媲美昂贵的商业软件Matlab,但确实免费、自由分享的。

自动化运维

服务器的运维过程可以用Python脚本实现自动化,Python的跨平台性让它在各种操作系统的服务器上游刃有余。

金融工程领域

由于Python极高的开发效率,让交易员可以快速实现、优化交易策略,也让很多曾经使用C/C++、Java的金融工程师转向Python。

Python经过近30年的发展,语言本身已经相当完善,周边各种功能库也是相当多足够好,涉足的应用领域非常普遍。下面图片是维基百科上列出的使用Python编写的著名应用,看看让你耳熟能详的的有多少个?
Python著名应用

总结

最后,让我们用那就著名的话语结束此文:

人生苦短,我用Python

这句话出自C++标准委员会成员Bruce Eckel, 原文 是:

“Life is short
(You need Python)”
— Bruce Eckel
ANSI C++ Comitee member

文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890

微配音

Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free