Python诞生到如今已经有20多年了,可是Python仍然是很是热门的编程语言之一,不少平台中使用Python开发。表1-1所示的是TIOBE社区发布的2017年3月和2018年3月的编程语言排行榜,可见Python语言的热度,或许这也是不少人选择学习Python的主要缘由。python
Python之父荷兰人吉多 范·罗苏姆(Guido van
Rossum)在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门解释程序语言。1991年第一个Python解释器公开版发布,它是用C语言编写实现的,并可以调用C语言的库文件。Python一诞生就已经具备了类、函数和异常处理等内容,包含字典、列表等核心数据结构,以及模块为基础的拓展系统。web
2000年Python 2.0发布,Python 2
的最后一个版本是2.7,它还会存在较长的一段时间,Python
2.7支持时间延长到2020年。2008年Python 3.0发布,到本书编写时Python
3.6发布,注意本书编写是基于Python 3.6版本。Python 3与Python
2是不兼容的,因为不少Python程序和库都是基于Python 2的,因此Python 2和Python
3程序会长期并存的,不过Python
3的新功能吸引了不少开发人员,不少开发人员正从Python 2升级到Python
3。做为初学者若是学习Python应该从Python 3开始。数据库
Python单词翻译“蟒蛇”,想到这种动物不会有很愉快的感受。那为何这种新语言取名为Python呢?那是由于吉多喜欢看英国电视秀节目蒙提·派森的飞行马戏团(Monty
Python’s Flying Circus),因而他将这种新语言起名为Python。编程
Python语言有它的设计理念和哲学,称为“Python之禅”。
Python之禅是Python的灵魂,理解Python之禅能帮开发人员编写出优秀的Python程序。在Python交互式方式运行工具IDLE中输入import
this命令,如图1-1所示显示内容就是Python之禅。服务器
Python之禅翻译解释以下:微信
Python之禅 by Tim Peters网络
优美胜于丑陋数据结构
明了胜于晦涩框架
简洁胜于复杂
复杂胜于凌乱
扁平胜于嵌套
宽松胜于紧凑
可读性很重要
即使是特例,也不可违背这些规则
不要捕获全部错误,除非你肯定须要这样作
若是存在多种可能,不要猜想
一般只有惟一一种是最佳的解决方案
虽然这并不容易,由于你不是Python之父
作比不作要好,但不假思索就动手还不如不作
若是你的方案很难懂,那确定不是一个好方案,反之亦然
命名空间很是有用,应当多加利用
Python语言可以流行起来,并长久不衰,得益于Python语言有不少优秀的关键特色。这些特色以下:
Python设计目标之一就是可以方便学习,使用简单。它使你可以专一于解决问题而不是过多关注语言自己。
Python支持面向对象的编程。与其余主要的语言如C++和Java相比,Python以一种很是强大又简单的方式实现面向对象编程。
Python是解释执行的,即Python程序不须要编译成二进制代码,能够直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成为中间字节码形式,而后再把它解释为计算机使用的机器语言并执行。
Python是免费开放源码软件之一。简单地说,你能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。
Python解释器已经被移植在许多平台上,Python程序无需修改就能够在多个平台上运行。
Python被称为胶水语言,所谓胶水语言是用来链接其余语言编写的软件组件或模块。Python可以称为胶水语言是由于标准版本Python是用C编译的,称为CPython。因此Python能够调用C语言,借助于C接口Python几乎能够驱动全部已知的软件。
Python标准库(官方提供的)种类繁多,它能够帮助处理各类工做,这些库不须要安装直接可使用。除了标准库之外,还有许多其余高质量的库可使用。
Python采用强制缩进的方式使得代码具备极佳的可读性。
虽然Python并非一种单纯的函数式编程,可是也提供了函数式编程的支持,如函数类型、Lambda表达式、高阶函数和匿名函数等。
Python是动态类型语言,它不会检查数据类型,在变量声明是不须要指定数据类型。
Python与Java语言同样,都是高级语言,他们不能直接访问硬件,也不能编译为本地代码运行。除此以外,Python几乎能够作任何事情。下面是Python语言主要的应用前景:
Python语言能够开发传统的桌面应用程序,Tkinter、PyQt、PySide、wxPython和PyGTK等Python库能够快速开发桌面应用程序。
Python也常常被用于Web开发。不少网站是基于Python
Web开发的,如豆瓣、知乎和Dropbox等。不少成熟的Python
Web框架,如Django、Flask、Tornado
、Bottle和web2py等Web框架。能够帮助开发人员快速开发Web应用。
Python能够编写服务器运维自动化脚本。不少服务器采用Linux和UNIX系统,之前不少运维人员编写系统管理Shell脚本实现运维工做。而如今使用Python编写系统管理,在可读性、性能、代码可重性、可扩展性等几方面优于普通Shell脚本。
Python语言也普遍地应用科学计算,NumPy、SciPy和Pandas是优秀的数值计算和科学计算库。
Python语言也可将复杂的数据经过图表展现出来,便于数据分析。Matplotlib库是优秀的可视化库。
Python语言很早就用来编写网络爬虫。谷歌等搜索引擎公司大量地使用Python语言编写网络爬虫。从技术层面上讲Python语言有不少这方面的工具,urllib、Selenium和BeautifulSoup等。还能够网络爬虫框架scrapy。
人工智能是如今很是火的一个方向。Python普遍应用于深度学习、机器学习和天然语言处理等方向。因为Python语言的动态特色,不少人工智能框架是采用Python语言实现的。
大数据分析中涉及到的分布式计算、数据可视化、数据库操做等,Python中都有成熟库能够完成这些工做。Hadoop和Spark均可以直接使用Python编写计算逻辑。
Python能够直接调用Open
GL实现3D绘制,这是高性能游戏引擎的技术基础。全部不少Python语言实现的游戏引擎,如Pygame、Pyglet和Cocos2d等。
对于一个初学者必需要熟悉以下几个Python相关网址:
Python HOWTO:https://docs.python.org/3/howto/index.html
PEP规范[^1]:https://www.python.org/dev/peps/
[^1]: PEP是Python Enhancement
Proposals的缩写。PEP是为Python社区提供各类加强功能的技术规格说明书,也是提交新特性,以便让社区指出问题,精确化技术文档的提案。
http://edu.51cto.com/topic/1507.html
http://www.zhijieketang.com/group/8
https://yuedu.baidu.com/ebook/5823871e59fafab069dc5022aaea998fcc2240fc
做者微博:@tony_关东升br/>邮箱:eorient@sina.com智捷课堂微信公共号:zhijieketangPython读者服务QQ群:628808216