01.认识Python
Python发展史
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。
像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。
官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。
Python 2.7 被确定为最后一个 Python 2.x 版本。
起源
Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。龟叔从ABC语言看到希望,ABC语言是由荷兰的数学和计算机研究所开发的。龟叔也参与到ABC语言的开发。由于一系列原因ABC并没有快速传播使用。因此,龟叔开始写Python语言。
诞生
1989年,龟叔为了打发无聊的圣诞节,开始编写Python语言。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。
启示
Python从刚开始龟叔给它定位就是“优雅 ”,“明确”,“简单”,所以Python程序看上去总是简单易懂。Python现在在TIOBE的排行榜中呈上升趋势。很多大公司,包括google、Yahoo甚至NASA都大量的使用Python。每个语言都是混合体,都有它优秀的地方,但是也有缺陷。同时一个语言的好坏,往往还受制于硬件、平台、时代等等外部原因。以一个开放的心态来接受各个语言。说不定哪一天,你也可以像龟叔一样,混合出自己的语言。
Python特点
-
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
-
Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
-
Python 是面向对象语言: Python 既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如 C++ 和 Java 相比,Python 以一种非常强大又简单的方式实现面向对象编程。
-
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
Python优缺点
面向对象的解释型语言,简单易学,丰富的库,强制使用制表符作为语句缩进(white space)
优点:
- 简单易学:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 免费开源
- 高层语言 :当你用 Python 语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 解释性:编译型言语是一种在程序运转前将其全部转换成机器言语(或称为二进制代码)的言语。编译器是用来将源代码转换成目的代码的程序。一旦编译器完成了这个过程,生成的目的代码就能够直接由计算机硬件执行。常见的编译型言语包括C、C++、Go和Rust等。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用 Python 更加简单。由于你只需要把你的 Python 程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的 Python 程序更加易于移植。
- 可移植性: 由于它的开源本质,Python 已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有 Python 程序无需修改就可以在下述任何平台上面运行。这些平台包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android 平台!
- 可扩展性:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 可嵌入性:你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
- 丰富的库:Python的最大的优势之一是丰富的库,Python 标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 和其他与系统有关的操作。记住,只要安装了 Python,所有这些功能都是可用的。这被称作 Python 的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted 和 Python 图像库等等。
- 规范的代码:Python 采用强制缩进的方式使得代码具有极佳的可读性。
缺点:
- 运行速度慢:有速度要求的话,用 C++ 改写关键部分吧。
- 代码不能加密
- 国内市场较小(国内以 Python 来做主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。
- 中文资料匮乏(好的 Python 中文资料屈指可数,现在应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。
- 构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby ,由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
Python的能力
Web程序(不擅长)、爬虫、数据挖掘、数据分析、运维自动化(强大类库查看系统性能)、科学计算算法、桌面软件、游戏开发。

- Google开源机器学习框架:TensorFlow
- 开源社区主推学习框架:Scikit-learn
- 百度开源深度学习框架:Paddle
- Youtube - 视频社交网站
- Reddit - 社交分享网站
- Dropbox - 文件分享服务
- 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
- 知乎 - 一个问答网站
- 果壳 - 一个泛科技主题网站
- Bottle - Python微Web框架
- EVE - 网络游戏EVE大量使用Python进行开发
- Blender - 使用Python作为建模工具与GUI语言的开源3D绘图软件
- Inkscape - 一个开源的SVG矢量图形编辑器。
Python 的主要运用领域有:
- 云计算:云计算最热的语言,典型的应用OpenStack
- WEB开发:许多优秀的 WEB 框架,许多大型网站是Python开发、YouTube、Dropbox、Douban……典型的Web框架包括Django
- 科学计算和人工智能:典型的库NumPy、SciPy、Matplotlib、Enided、pandas
- 系统操作和维护:操作和维护人员的基本语言
- 金融:定量交易、金融分析,在金融工程领域,Python 不仅使用最多,而且其重要性逐年增加。
- 图形 GUI:PyQT,WXPython,TkInter
Python 在一些公司的运用有:
- 谷歌:谷歌应用程序引擎,代码。Google.com、 Google 爬虫、Google 广告和其他项目正在广泛使用 Python。
- CIA:美国中情局网站是用 Python 开发的。
- NASA:美国航天局广泛使用 Python 进行数据分析和计算。
- YouTube:世界上最大的视频网站 YouTube 是用 Python 开发的。
- Dropbox:美国最大的在线云存储网站,全部用 Python 实现,每天处理 10 亿的文件上传和下载。
- Instagram:美国最大的照片共享社交网站,每天有 3000 多万张照片被共享,所有这些都是用 Python 开发的。
- Facebook:大量的基本库是通过 Python 实现的
- Red Hat/Centos:世界上最流行的 Linux 发行版中的 Yum 包管理工具是用 Python 开发的
- Douban:几乎所有公司的业务都是通过 Python 开发的。
- 知乎:中国最大的 Q&A 社区,通过 Python 开发(国外 Quora)
除此之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司正在使用 Python 来完成各种任务。
python学习路线

我们在学习的过程中要有所侧重,例如我们如果将来做人工智能,那么就应该着重学习“算法”,切不可没有重点的学习。
Python 发展历史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。
Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。
Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。
Python版本
- Python 3.5
- Python 3.6
- Python 3.7
- ...

浙公网安备 33010602011771号