Python编程菜鸟成长记--A1--02--Python介绍
目录
1.重点知识
了解 Python 语言的特点、发展史
介绍 Python 语言广泛的应用领域和前景
2.Python 语言介绍
- Python 语言的创始人是荷兰人吉多·范罗苏姆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,如:
- 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 的感觉一样,非常棒
Python编程菜鸟成长记--A1--02--Python介绍的更多相关文章
- Python编程菜鸟成长记--A1--01--编程语言介绍
目录 1.重点知识 2.什么是编程?为什么要编程? 3.有哪些编程语言? 3.1.机器语言 3.2.汇编语言 3.3.高级语言 3.3.1.编译型语言 3.3.2.解释型语言 3.4.小结 4.主流编 ...
- Python编程菜鸟成长记--A1--03--Python 环境安装(待完成)
1.重点知识 Windows 上如何安装 Python 3 Linux 上如何安装 Python 3 Mac 上如何安装 Python 3 Windows 上如何安装 Pycharm Mac 上如何安 ...
- Python编程菜鸟成长记--A1--04--Hello World!
1.重点知识 掌握使用 命令行.文件.Jupyter 的方式执行 Python 代码 2.Hello World! 自从 C 语言之父 丹尼斯.M.里奇 在<The C Programming ...
- 【系列】Python编程思想(1):Python简介与开发环境搭建
李宁老师的 开始学习. 本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程.主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库.本教程使用Py ...
- python笔记-python编程优化:常用原则和技术介绍
本人翻译自<Exper Python Programming> 'Premature optimization is the root of all evil in programming ...
- Python编程笔记(第一篇)Python基础语法
一.python介绍 1.编程语言排行榜 TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员.课程和第三方厂商的数量. 2.pytho ...
- Python编程时.py与.pyc文件的介绍
Python的程序中,是把原始程序代码放在.py文件里,而Python会在执行.py文件的时候.将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快 ...
- Android菜鸟成长记14 -- AsnyTask
本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...
- Android菜鸟成长记11 -- sqlite数据库的设计和升降级
Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLite 只需要带一个动 ...
随机推荐
- CF 455A(Boredom-dp)
A. Boredom time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- XF 列表视图分组列表填充
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Gradle离线配置
原文:Gradle离线配置 1. 先在Gradle官网下载最新的离线zip压缩包. https://gradle.org/ 2. 将下载的zip压缩包,保存到本地磁盘下的目录中. 3. 修改(grad ...
- C#原子性运算 interlocked.compareExchanged
缘起: 假设有一个类myClass, myclass里有一个count属性. 在多线程的环境下 每个线程中 直接使用count++, 如果两个线程并行执行时, 两个线程中的一个的结果会被覆掉, 非线 ...
- Windows程序设计画图实现哆啦A梦
在看雪论坛上看到的一个帖子,很喜欢,转载一下.原文地址:http://bbs.pediy.com/showthread.php?t=138630哆啦A梦是画出来的,不知道作者算这些坐标位置算了多久,真 ...
- C# 委托参数方法实例
/// <summary> /// 方法委托 /// </summary> /// <param name="dwEnrollNum">< ...
- 微信小程序把玩(四十一)canvas API
原文:微信小程序把玩(四十一)canvas API 绘图是每个移动应用必备的技术,基本上和Android,IOS,等移动开发都是相同的,创建个上下文,给你个画布再上画,官网给的小例子都比较全了自己去看 ...
- phpstudy+phpstorm+debug
文:phpstudy+phpstorm+debug 一.配置前说明: 1.phpStudy集成了XDebug扩展,所以不用单独下载XDebug. 2.打开XDebug扩展:其它选项菜单 > PH ...
- Docker笔记01-发布一个dotnetcore应用
OS:Widows 10 IDE: VS2017 Docker:Docker Desktop for Windows Windows下安装Docker需要先启用Hyper-v 在Windows 容器的 ...
- einsum:爱因斯坦求和约定
在Tensorflow.Numpy和PyTorch中都提供了使用einsum的api,einsum是一种能够简洁表示点积.外积.转置.矩阵-向量乘法.矩阵-矩阵乘法等运算的领域特定语言.在Tensor ...
- Python编程菜鸟成长记--A1--01--编程语言介绍