首页 > 技术文章 > Python编程菜鸟成长记--A1--02--Python介绍

David-domain 2019-06-16 09:06 原文

1.重点知识

  • 了解 Python 语言的特点、发展史

  • 介绍 Python 语言广泛的应用领域和前景

2.Python 语言介绍

  • Python 语言的创始人是荷兰人吉多·范罗苏姆[Guido van Rossum]([https://baike.baidu.com/item/Guido van Rossum](https://baike.baidu.com/item/Guido van Rossum)),也称龟叔。

  • 1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。

  • 他希望叫做 Python 的语言,能符合他的理想,创造一种介于 C 和 shell 之间,功能全面、易用易学、可拓展的语言。

  • 最新的 TIOBE 排行榜(截至 2019年6月9日),Python 赶超 C++ 跃居第3。

  • Python 崇尚优美、清晰、简单,它是一个优秀并广泛使用的语言。

  • 它广泛应用于众多领域,如:

    • 数据分析
    • 组件集成
    • 网络服务
    • 图像处理
    • 数值计算
    • 科学计算
  • 目前业内几乎所有大中型互联网企业都在使用 Python,如:

    • Google
    • Facebook
    • NASA
    • Youtube
    • Dropbox
    • Yahoo!
    • 百度
    • 腾讯
    • 汽车之家
    • 美团
    • 豆瓣
    • 知乎
    • 等等

2.1.Python 在主要领域的应用前景

  • Web 开发
    • 最火的 Web 框架 Django
    • 支持异步、高并发的 Tornado
    • 短小精悍的 flask 、bottle
  • 网络编程
    • 支持高并发的 Twisted 网络框架
    • Py3 引入的 asyncio 使异步编程变的非常简单
  • 爬虫,Python 几乎是霸主地位,众多的框架、库,想爬啥就爬啥
    • Scrapy
    • Request
    • Beautiful Soap
    • urllib
  • 云计算:目前最火、最知名的云计算框架就是 OpenStack,Python 的火爆,很大程度上要归功于云计算
  • 人工智能:谁会成为 AI 和大数据时代的第一开发语言?现在已经是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python 都各有机会、局面尚且不清晰,那么三年后的今天,趋势已经非常明确了,特别是 Facebook 开源了 PyTorch 后,Python 作为 AI 时代的头牌语言的地位已经确立,未来的悬念仅仅是谁能坐稳第2的位置。
  • 自动化运维:问问中国每个韵味人员必须会的语言是什么?相信他们会给你一个相同的答案:Python。
  • 金融分析:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测。
  • 科学计算:1997年开始,NASA 就在大量使用 Python 进行各种复杂的科学计算,随着 NumPy、SciPy、Matplotlib、Enthought librarys 等众多程序库的开发,使得Python 越来越适合于科学计算、绘制高质量的 2D、3D 图像。和科学计算领域最流行的商业软件 Matlab 相比,Python 是一门通用的程序设计语言,比 Matlab 所采用的脚本语言的应用范围更广泛。
  • 游戏开发:在网络游戏开发中 Python 也有很多应用。项目 Lua、C++,Python 比 Lua 具备更高姐的抽象能力,可以用更少的代码描述游戏业务逻辑,而且 Python 更适合作为一种 Host 语言,即程序的入口点在 Python 那一端会比较好,然后用 C、C++ 在必要的时候写一些扩展。Python 非常适合编写 1万行以上的项目,而且能够很好的把网络游戏项目控制在 10万行代码以内。知名的游戏"文明"就是用 Python 写的。

2.2.Python 在机构、行业巨头公司的应用

  • Google:Google App Engine、code.google.com、Google Earth、Google 爬虫、Google 广告等项目都在大量使用 Python。
  • CIA:美国中情局的网站就是用 Python 开发的。
  • NASA:美国航天局大量使用 Python 进行数据分析和运算。
  • Youtube:全球最大的视频网站也是用 Python 开发的。
  • Dropbox:美国最大的在线云存储网站全部用 Python 实现,网站每天处理 10亿个文件的上传和下载。
  • Instagram:美国最大的图片分享社交网站全部用 Python 开发,每天超过 3千万张照片被分享。
  • Facebook:大量的基础库均通过 Python 开发
  • Redhat:全球最流行的 Linux 发行版本中的 yum 包管理工具就是用 Python 开发的
  • 豆瓣:该公司的所有业务都是用 Python 开发的
  • 知乎:国内最大的问答社区也是用 Python 开发的
  • 春雨医生:国内知名的在线医疗网站也是用 Python 开发的
  • 除此之外,搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用 Python 处理各种各样的事情

3.Python 的发展史

  • 1989年,龟叔开始写 Python 语言的编译器。
  • 1991年,第一个 Python 编译器诞生。它使用 C 语言实现的,并能够调用 C 语言的库文件。从一诞生,Python 就具有了累、函数、异常处理等功能,包含列表和字典在内的核心数据类型、以模块为基础的扩展系统。
  • 1994年1月,Python 1.0 增加了 lambda、map、filter、reduce。
  • 1999年,高度面向对象的 Web 开发框架 Zope 1 正式发布。
  • 2000年10月16日,Python 2.0 发布,加入了内存回收机制,构成了现在 Python 语言框架的基础。
  • 2004年11月30日,Python 2.4 发布。同年,最流行的 Web 框架 Django 诞生。
  • 2006年9月19日,Python 2.5 发布。
  • 2008年10月1日,Python 2.6 发布。
  • 2008年12月3日,Python 3.0 发布。
  • 2010年7月3日,Python 2.7 发布,兼容 2 和 3 的语法。
  • 2014年11月,发布声明 Pythn 2.7 维护到 2020年终止,并且不会再发布 2.8 版本,薪的特性都会追加在 3.4 以后的版本中。

题外话:为什么 2008年发布了 3.0 版本,2010年反而又发布了 2.7 版本?

这是因为 Python 3.0 版本不向下兼容 2.x 的语法,导致大家都拒绝升级 3.0,所以官方无奈只能通过发布 2.7版本来过渡。

4.Python 的发展前景如何

知乎上有篇文章《Python 未来 10年的发展前景》,可以看一下 Alex 的回答。

5.Python 有哪些种类

  • 我们现在知道 Python 是一门解释型语言,代码祥云县,必须通过解释器执行,Python 解释器本身也可以看作是一个程序,那么解释器是用什么语言开发的呢?答案是很多种语言。what?因为 Python 有很多种解释器,分别基于不同的语言开发,每个解释器特点不同,但是都能正常运行我们的 Python 代码,下面分别说明:

CPython

  • 官方版本解释器,使用 C 语言开发,在命令行下执行 python 就是启动 C Python 解释器。

IPython

  • 它是基于 CPython 的交互式解释器。也就是说在交互方式上有增强,但在执行 Python 代码的功能和 CPython 完全一样。
  • CPython 使用>>>作为提示符;IPython 使用ln[n]:作为提示符,n为序号。

PyPy

  • PyPy 特点是执行速度快,它采用 JIT 技术,对 Python 代码进行动态编译(注意不是解释),所以可以显著提高 Python 代码的执行速度。
  • 绝大部份 Python 代码都可以在 PyPy 下运行,但是 PyPy 和 CPython 有些不同,这导致了相同的 Python 代码在 2种解释器下执行,可能会得到不同的结果。
  • 所以,如果你的代码要用 PyPy 执行,就需要了解 PyPy 和 CPython 的不同。

Jython

  • 它是运行在 Java 平台下的 Python 解释器,可以直接把 Python 代码编译成 Java 字节码执行。

IronPython

  • IronPython 和 Jython 类似,只不过 IronPython 是运行在微软 .NET 平台上的 Python 解释器,可以直接把 Python 代码编译成 .NET 字节码。

6.选择:Python 2 还是 Python 3?

  • 业内很多企业还在大量使用 Python 2.6 或 2.7 版本,这是因为旧项目的几十万、甚至几百万行代码想快速升级到 3.0版本不是一件容易的事。

  • 目前虽然业内很多企业还在大量使用旧版本,但是大家在开发新项目时,几乎都会选择 Python 3版本。

  • 另外,Python 3 确实比 2.x 版本做了很多改进,打个比方,就好比 XP 升级到 Win10 的感觉一样,非常棒

推荐阅读