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 只需要带一个动 ...
随机推荐
- ZOJ 3726 RMQ + 二分法
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5072 区域赛真干的话题 通过率最高的一个问题 不到一半认为这OK 然后WA果 ...
- Kivy A to Z -- Kivy 示例演示自带名单
所有的样品已经在Android 4.04 手机正常进行 1.demo/kivycatalog 这个例子说明了如何使用主控件,例如Layout,Button,MediaPlayer,Progress B ...
- byte[] 左移和右移
public static class ex { public static byte[] RightShift(this byte[] ba, int n) { ) { return ba.Left ...
- #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns)
原文 #467 – 使用UniformGrid 均分行和列(Use a UniformGrid for Evenly Spaced Rows and Columns) UniformGrid 布局面板 ...
- Win8 Metro(C#)数字图像处理--2.36角点检测算法
原文:Win8 Metro(C#)数字图像处理--2.36角点检测算法 [函数名称] Harris角点检测函数 HarrisDetect(WriteableBitmap src, int ...
- Win10《芒果TV》送7天免费会员,邀您抢先看萌心自制《妈妈是超人3》
<妈妈是超人>第三季萌心归来,霍思燕,贾静雯,黄圣依,邓莎联合释放"妈妈的声音",嗯哼,咘咘,波妞,安迪,大麟子五位萌娃共同出镜,萌化屏幕.Win10<芒果TV& ...
- 一个技术人,最重要的是:极客精神(好奇心 + 探索欲)(新de代码)
一个技术人,最重要的是:极客精神(好奇心 + 探索欲) 初到社会,面对众多的IT企业,我们是陌生与好奇的,认为所有企业都是管理一流并且高大上等的.然而工作多年以后你会发现,国内的IT企业环境良莠不齐, ...
- Application.StartupPath和System.Environment.CurrentDirectory的区别
System.Environment.CurrentDirectory的含义是获取或设置当前工作路径,而Application.StartupPath是获取程序启动路径,表面上看二者没什么区别,但实际 ...
- Dec Working Note
01 新的一个月,也是16年最后一个月,意义非凡. 那么第一天就要来点非凡的意义:提出离职. 纠结了好久,最后还是离职了,感觉是好他妈的爽,纠结什么呢. 不过今天状态不好,最近状态一直不好,上火,也没 ...
- 用CDialog实现的消息框MessageBoxST类
http://blog.csdn.net/akof1314/article/details/5078563
- Python编程菜鸟成长记--A1--01--编程语言介绍