03.07 你懂python吗?

在人工智能盛行的今天,有一门编程语言也悄然的流行了起来,那就是大名鼎鼎的python。或许你仅仅知道它只是一门计算机编程语言,但你知道它是怎么发明的吗?它是如何在深度学习领域占有如此重要的地位吗?下面将带大家走入python的世界。

Python的由来

有一个名叫Guido van Rossum(吉多·范罗苏姆)的荷兰程序员,叫他吉多就好了。他在1989年的圣诞节期间,为了打发无聊的时间,就想重新开发一种脚本解释语言,吉多也不是凭空去创造,在这之前他就参与设计了一款优美和强大的ABC语言,但ABC语言并没有成功,吉多认为是没有开放造成的,于是他就在ABC语言的基础上,并结合了Unix Shell和C的习惯,写出了一个新的脚本编译器,那这门语言该叫啥那?因为吉多喜爱BBC的一档名为Monty Python’s Flying Circus的节目,于是就给这门语言起名为python。可以说吉多是python语言的最初发明者和架构设计者,是他引领了python的发展方向,现在仍是python的主要维护者。

还有一个趣事就是吉多在给Google的面试简历上就写了一句话—【我创造了python】,大神就是这么屌。

你懂python吗?

你懂python吗?

Python是什么

现在给出一个python的定义,python是一种面向对象的解释型高级计算机程序设计语言。首先,python是面向对象的,也就是python是可以定义类的,C++和Java也是面向对象的编程语言;其次是解释型,就是python源码在执行之前是先转化为中间码,然后由解释器转化为可执行的程序指令运行的,C#和Java也是解释型的语言,其最大的好处就是跨平台运行,并不局限于特定平台,只要在平台上安装上python的解释器就可以啦。

Python提供了丰富的API和工具,能够让程序员使用其他语言如C、C++、Cython来编写各种扩展模块,所以python也被称为胶水语言,其中许多大型的网站也是用python写的,如豆瓣、Youtube、Instagram等。

Python是纯粹的自由软件,源代码和C解释器是遵循GPL(GNU General License)协议的。Python的定位就是“优雅”、“明确”和“简单”,所以相对于其他高级编程语言而言,python算是简单易学。经过几年的发展,python开发者们为我们提供了完善了基础代码库,覆盖了文件、数据分析、网络、数据库、GUI、网站等内容,而且有大量的第三库供大家免费下载使用。

大家都知道TIOBE排行榜吧,虽说世界上有大概600多种编程语言,但真正流行的语言也就那10多种语言,下图是截止2020年2月最新的TOP10编程语言,python已跃居第三位,足见其流行程度。

你懂python吗?

Python解释器

Python解释器的功能就是将python源码翻译成CPU能够执行的机器码,这个翻译过程可用不同的编程语言实现,于是就出现了不同语言版本的python解释器:

你懂python吗?

  • CPython解释器:顾名思义,这个解释器是用C语言写的,是使用最广泛的解释器
  • IPython解释器:此解释器加强了交互功能,但python源码的解释仍然采用的是CPython来完成,也就是将CPython包装了一下,加强了某一方面的能力
  • PyPy解释器:采用python进行编写,其采用了JIT的技术,对python代码进行了动态编译,所以在执行速率上有所突出
  • Jython解释器:此解释器可以在Java平台上运行,将python代码解释为Java的字节码
  • IronPython解释器:此解释器能够将python代码解释为.net对应的字节码,可在.net平台上运行

当然,基于python的开放精神,任何人都可以写出自己的python解释器,只要你牛逼。

Python版本

目前python开发主要是python2.x和python3.x,其中python3.0并没有过多的考虑向下兼容,所以很多早期的python设计程序是不能直接在python3.x下运行的,但python2.6被作为了一个过渡版本,基本采用了python2.x的语法和规则,也能使用一部分python3.0的语法。

你懂python吗?

对于初学者,建议学习python3,不要学习python2,因为Python2已不再提供维护啦。

下面看一个最简单的hello,world程序,体会一下python2和python3的区别:

【python2版】print “hello, world”

【python3版】print(“hello,word”)

著名的python第三方库


Web框架:Django、Flask、Pyramid、ActiveGrid、Karrigell、Tornado、webpy、CherryPy、Pylons、Zope、TurboGears、Twisted、Quixote、aiohttp

科学计算:Matplotlib、Pandas、SciPy、NumPy

GUI:PyGtk、PyQt、WxPython

python开发IDE


Eric:基于PyQt的自由软件。

IDLE:Python“标准”IDE。一般随Python而安装,支持较少的编辑功能。调试功能也比较弱。

PyCharm:由JetBrains打造,PyCharm具备一般IDE的功能,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。

PyScripter:功能较全的开源IDE,使用Delphi开发。

PythonWin:包含在pywin32内的编辑器,仅适用于Windows。

SPE(Stani's Python Editor):功能较多的免费软件,依赖wxPython。

Spyder:开源的跨平台科学计算IDE。

Ulipad:功能较全的免费软件,依赖wxPython。

WingIDE:商业软件。

但是对于python的开发,还是强烈推荐PyCharm。

你懂python吗?


分享到:


相關文章: