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 只需要带一个动 ...
随机推荐
- Webx框架:Pipeline基本介绍
Pipeline. 它是管道的含义.一个管道阀门可以安装非常多.有许多可能的分支.它是用来控制页处理.它需要在被定义pipeline.xml文件.该文件是为每个阀的标签.该文件可以放一些简单的控制语句 ...
- 安装Eclipse完PyDev插件中没有出现
假设你是在Window7在环境搭建.请确保您使用以管理员身份运行Eclipse. PyDev插件安装后没有显示是由于PyDev的执行须要Java7,能够通过升级JDK的版本号来完毕,而且配置环境变量( ...
- BZOJ 3329 Xorequ 数字DP+矩阵乘法
标题效果:特定n,乞讨[1,n]内[1,2^n]差多少x满足x^3x=2x x^3x=2x相当于x^2x = 3x 和3x=x+2x 和2x=x<<1 因此x满足条件IFFx&(x ...
- wpf Content数据绑定StringFormat起作用的原理和解决
原文:wpf Content数据绑定StringFormat起作用的原理和解决 <Window x:Class="WpfOne.Bind.Bind6" xmlns=" ...
- css3如何让div一直循环自转圈,附带:网络请求通知图片一直在转圈实例
css3如何让div一直循环自转圈 代码如下: div{ -webkit-transition-property: -webkit-transform; -webkit-transition-dura ...
- DLL编写与调用全解
DLL编写与调用全解 DELPHI学习 2008-12-23 22:52 阅读8 评论0 字号: 大 中 小 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会 ...
- 【Git】文件暂存与提交
git工作目录文件的两种状态:已跟踪.未跟踪. 文件状态的变化周期: 查看当前文件状态: git status 跟踪新文件/暂存已修改文件 git add newfile 状态简览 git statu ...
- win10 uwp 如何打包Nuget给其他人
原文:win10 uwp 如何打包Nuget给其他人 本文告诉大家,如果自己有做一些好用的库,如何使用 Nuget 打包之后上传,分享给大家. 首先需要知道一些 Nuget 打包需要知道的,请看 wi ...
- 2013 lost connection to mysql server during query
navicat 导入sql大脚本到mysql数据库报错 解决办法: 修改mysql.ini配置文件: max_allowed_packet=256M wait_timeout=5000
- web-dev-server配置
webpack-dev-server是一个小型的Node.js Express服务器,它使用webpack-dev-middleware来服务于webpack的包,除此自外,它还有一个通过Sock.j ...
- Python编程菜鸟成长记--A1--01--编程语言介绍