python简介

1. Python简介

  Python的创始人吉多·范罗苏姆(Guido van Rossum),咱们称之为"龟叔", 在1989年的圣诞节,龟叔为了打发时间,开发出了Python这一门语言(好任性!).在2018年9月的TIOBE排行榜上,Python已经占据第四的位置, Python崇尚优美、清晰、简单,是一个优秀并普遍使用的语言.  python能够应用于众多领域,如:数据分析、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、NASA、百度、腾讯、汽车之家、美团等。python

  Python有哪些优点呢?web

高级语言
  咱们只须要将咱们的想法经过一个中语言介质(编程语言)告诉计算机,计算机去帮助咱们实现,具体计算机作了什么事情彻底不须要咱们管,这样就大大的节省了学习的成本
开发效率高
  开发效率高是由于怎么想要实现的功能,在很早直接就有人想到了,而且实现了之后还免费分享出来了,咱们要实现的时候只须要把人家写的好拿过来用就好了,省去重复性的工做和时间.python有一句话说的很好懒惰即美德.
可跨平台
  经常使用的两种电脑一个是苹果一个是windows,苹果和windows他们之间平台就是不同的,跨平台就是我如今在windows系统中写的代码,放到你的苹果电脑上彻底能够运行,不想C和Java须要涉及到系统相关的内容
简单易懂
  简单易懂是由于python就是对应着人的想法作出的语言,就说想要打印一个数字521,python中直接使用print就能够了

2. python应用领域

  1. WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为彻底主义者开发的高效率web框架)算法

  2. 网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的很是简单编程

  3. 爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥flask

  4. 云计算——目前最火最知名的云计算框架就是OpenStack,Python如今的火,很大一部分就是由于云计算windows

  5. 人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已经是一个不须要争论的问题。若是说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年以后,趋势已经很是明确了,特别是前两天 Facebook 开源了 PyTorch 以后,Python 做为 AI 时代头牌语言的位置基本确立,将来的悬念仅仅是谁能坐稳第二把交椅。网络

  6. 自动化运维——问问中国的每一个运维人员,运维人员必须会的语言是什么?10我的相信会给你一个相同的答案,它的名字叫Python
  7. 金融分析——我我的以前在金融行业,10年的时候,咱们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言
  8. 科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各类复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python愈来愈适合于作科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更普遍
  9. 游戏开发——在网络游戏开发中Python也有不少应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,能够用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合做为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,而后用 C/C++ 在很是必要的时候写一些扩展。Python 很是适合编写 1 万行以上的项目,并且可以很好地把网游项目的规模控制在 10 万行代码之内。另外据我所知,知名的游戏<文明> 就是用Python写的

3. Python的发展史

  1989年,Guido开始写Python语言的编译器。多线程

  1991年,第一个Python编译器诞生。它是用C语言实现的,并可以调用C语言的库文件。从一出生,Python已经具备了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。并发

  Granddaddy of Python web frameworks, Zope 1 was released in 1999框架

  Python 1.0 - January 1994 增长了 lambda, map, filter and reduce.

  Python 2.0 - October 16, 2000,加入了内存回收机制,构成了如今Python语言框架的基础

  Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生

  Python 2.5 - September 19, 2006

  Python 2.6 - October 1, 2008

  Python 2.7 - July 3, 2010

  In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible

  Python 3.0 - December 3, 2008 (这里要解释清楚 为何08年就出3.0,2010年反而又推出了2.7?是由于3.0不向下兼容2.0,致使你们都拒绝升级3.0,无奈官方只能推出2.7过渡版本)

  Python 3.1 - June 27, 2009

  Python 3.2 - February 20, 2011

  Python 3.3 - September 29, 2012

  Python 3.4 - March 16, 2014

  Python 3.5 - September 13, 2015

  Python 3.6 - 2016-12-23 发布python3.6.0版

3. Python语言的优缺点

计算机语言有强类型和弱类型定义语言 , 编译型和解释型语言 , 静态语言和动态语言 ; 

  编译型:运行速度快,开发效率低 (表明:C语言)

  解释型:运行速度慢,开发效率高 (表明:Python)

  Python是一种动态的解释型的强类型定义语言,它拥有很是强大的库和第三方库, “优雅”、“明确”、“简单”,开发效率很是高

优势:

  1. Python的定位是“优雅”、“明确”、“简单”,因此Python程序看上去老是简单易懂,初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂的程序。
  2. 开发效率很是高,Python有很是强大的第三方库,基本上你想经过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大下降开发周期,避免重复造轮子。
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  4. 可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工 做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部Python程序无需修改就几乎能够在市场上全部的系统平台上运行
  5. 可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。
  6. 可嵌入性————你能够把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

缺点:

  1. 速度慢,Python 的运行速度相比C语言确实慢不少,跟JAVA相比也要慢一些,其实这里所指的运行速度慢在大多数状况下用户是没法直接感知到的,必须借助测试工具才能体现出来,好比你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是很是夸张了,是没法直接经过肉眼感知的,由于一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数状况下Python已经彻底能够知足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等。
  2. 代码不能加密,由于PYTHON是解释性语言,它的源码都是以名文形式存放的。不过我不认为这算是一个缺点,若是你的项目要求源代码必须是加密的,那你一开始就不该该用Python来去实现。
  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任什么时候刻仅有一个线程在执行,Python的线程是操做系统的原生线程。在Linux上为pthread,在Windows上为Win thread,彻底由操做系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行。关于这个问题的折中解决方法,咱们在之后线程和进程章节里再进行详细探讨。

4. Python在一些公司的应用

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

5. Python主流分类?

  Cpython:官方推荐的解释器,能够把python代码转化成C语言识别的字节码;

  Jpython:能够将python转化成Java识别的字节码;

  IronPython:能够把python转化成C#识别的字节码;

  Ipython,PyPy等

  

相关文章
相关标签/搜索