一、Python概述

一、Python概述
1.一、编程语言
1.1.一、什么是编程语言
1.1.二、语言种类
1.1.三、常见语言
1.二、Python语言简介
1.2.一、什么是Python
1.2.二、Python 特色
1.2.三、Python的发展历程
1.2.四、Python的种类
1.三、Python开发环境
1.3.一、Python的下载和安装
1.3.二、Python IDE集成开发工具

一、Python概述

1.一、编程语言

1.1.一、什么是编程语言

编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员可以准确地定义计算机所须要使用的数据,并精确地定义在不一样状况下所应当采起的行动。python

最先的编程语言是在电脑发明以后产生的,当时是用来控制提花织布机及自动演奏钢琴的动做。在电脑领域已发明了上千不一样的编程语言,并且每一年仍有新的编程语言诞生。不少编程语言须要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明须要的结果,而不说明如何计算。程序员

编程语言本来是被设计成专门使用在计算机上的,但它们也能够用来定义算法或者数据结构。正是由于如此,程序员才会试图使程序代码更容易阅读。编程语言每每使程序员可以比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来讲,懂得程序设计语言是十分重要的,由于在当今全部的计算都须要程序设计语言才能完成。web

1.1.二、语言种类

编程语言俗称“计算机语言”,种类很是的多,总的来讲能够分红机器语言、汇编语言、高级语言三大类。电脑每作的一次动做,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序所有都是用咱们所掌握的语言来编写的。因此人们要控制计算机必定要经过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。算法

  • 机器语言

因为计算机内部只能接受二进制代码,所以,用二进制代码0和1描述的指令称为机器指令,所有机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行。可是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。shell

  • 汇编语言

汇编语言的实质和机器语言是相同的,都是直接对硬件操做,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它一样须要编程者将每一步具体的操做用命令的形式写出来。汇编程序一般由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操做过程当中的一个很细微的动做。例如移动、自增,所以汇编源程序通常比较冗长、复杂、容易出错,并且使用汇编语言编程须要有更多的计算机专业知识,但汇编语言的优势也是显而易见的,用汇编语言所能完成的操做不是通常高级语言所可以实现的,并且源程序经汇编生成的可执行文件不只比较小,并且执行速度很快。数据库

  • 高级语言

高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,而且去掉了与具体操做有关但与完成工做无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,因为省略了不少细节,编程者也就不须要有太多的专业知识。编程

高级语言主要是相对于汇编语言而言,它并非特指某一种具体的语言,而是包括了不少编程语言,像最简单的编程语言PASCAL语言也属于高级语言。flask

高级语言所编制的程序不能直接被计算机识别,必须通过转换才能被执行,按转换方式可将它们分为两类:windows

解释类:执行方式相似于咱们平常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,所以效率比较低,并且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,能够动态地调整、修改应用程序,如Python。浏览器

编译类:编译是指在应用源程序执行以前,就将程序源代码“翻译”成目标代码(机器语言),所以其目标程序能够脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦须要修改,必须先修改源代码,再从新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便,如C语言。

1.1.三、常见语言

世界上的编程语言有600多种,但真正你们主流在使用的最多二三十种,不一样的语言有本身的特色和擅长领域,随着计算机的不断发展,新语言在不断诞生,也同时有不少老旧的语言慢慢无人用了。

² 2017年5月数据(https://www.tiobe.com/tiobe-index/ )

   

ü JAVA

Java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具备卓越的通用性、高效性、平台移植性和安全性,普遍应用于我的PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具有了显著优点和广阔前景。

ü C语言:

C语言是一种计算机程序设计语言,它既具备高级语言的特色,又具备汇编语言的特色。它由美国贝尔研究所的D.M.Ritchie1972年推出,1978年后,C语言已前后被移植到大、中、小及微型机上,它能够做为工做系统设计语言,编写系统应用程序,也能够做为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围普遍,具有很强的数据处理能力,不只仅是在软件开发上,并且各种科研都须要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用好比单片机以及嵌入式系统开发。

ü C++:

C++是C语言的继承的扩展,它既能够进行C语言的过程化程序设计,又能够进行以抽象数据类型为特色的基于对象的程序设计,还能够进行以继承和多态为特色的面向对象的程序设计。C++擅长面向对象程序设计的同时,还能够进行基于过程的程序设计,于是C++就适应的问题规模而论,大小由之。

C++不只拥有计算机高效运行的实用性特征,同时还致力于提升大规模程序的编程质量与程序设计语言的问题描述能力。

ü SQL

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,容许用户在高层数据结构上工做。它不要求用户指定对数据的存放方法,也不须要用户了解具体的数据存放方式,因此具备彻底不一样底层结构的不一样数据库系统可使用相同的结构化查询语言语言做为数据输入与管理的接口。结构化查询语言语句能够嵌套,这使他具备极大的灵活性和强大的功能。

SQL语言结构简洁,功能强大,简单易学,因此自从IBM公司1981年推出以来,SQL语言,获得了普遍的应用。现在不管是像Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,仍是像Visual Foxpro,PowerBuilder这些微机上经常使用的数据库开发系统,都支持SQL语言做为查询语言。

ü JavaScript

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,普遍用于客户端的脚本语言,最先是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增长动态功能。

ü Python

Python是一门优秀的综合语言, Python的宗旨是简明、优雅、强大,在人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向应用普遍,

ü 易语言

易语言是一门计算机程序语言。以“易”著称,以中文做为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最先的版本的发布可追溯至2000年9月11日。能够说,创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到必定的规模:功能上、用户数量上都十分可观。

1.二、Python语言简介

1.2.一、什么是Python

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写可以解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他但愿这个新的叫作Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

Python崇尚优美、清晰、简单,是一个优秀并普遍使用的语言。Python能够应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

目前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等,想爬啥就爬啥

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

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

6. 自动化运维——问问中国的每一个运维人员,运维人员必须会的语言是什么?10我的相信会给你一个相同的答案,它的名字叫Python

7. 金融分析——金融行业公司的好多分析程序、高频交易软件就是用的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写的。

Python在一些公司的应用:

1. 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发;

2. CIA: 美国中情局网站就是用Python开发的;

3. NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算;

4. YouTube:世界上最大的视频网站YouTube就是用Python开发的;

5. Dropbox:美国最大的在线云存储网站,所有用Python实现,天天网站处理10亿个文件的上传和下载;

6. Instagram:美国最大的图片分享社交网站,天天超过3千万张照片被分享,所有用python开发;

7. Facebook:大量的基础库均经过Python实现的;

8. Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的;

9. 豆瓣: 公司几乎全部的业务均是经过Python开发的;

10. 知乎: 国内最大的问答社区,经过Python开发(国外Quora);

11. 春雨医生:国内知名的在线医疗网站是用Python开发的;

12. 除上面以外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各类各样的任务。

1.2.二、Python 特色

1.易于学习:Python有相对较少的关键字,结构简单,和一个明肯定义的语法,学习起来更加简单。

2.易于阅读:Python代码定义的更清晰。

3.易于维护:Python的成功在于它的源代码是至关容易维护的。

4.一个普遍的标准库:Python的最大的优点之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5.互动模式:互动模式的支持,您能够从终端输入执行代码并得到结果的语言,互动的测试和调试代码片段。

6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工做)到许多平台。

7.可扩展:若是你须要一段运行很快的关键代码,或者是想要编写一些不肯开放的算法,你可使用C或C++完成那部分程序,而后从你的Python程序中调用。

8.数据库:Python提供全部主要的商业数据库的接口。

9.GUI编程:Python支持GUI能够建立和移植到许多系统调用。

10.可嵌入: 你能够将Python嵌入到C/C++程序,让你的程序的用户得到"脚本化"的能力。

  • 优势

1. Python的定位是“优雅”、“明确”、“简单”,因此Python程序看上去老是简单易懂,初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂的程序。

2. 开发效率很是高,Python有很是强大的第三方库,基本上你想经过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大下降开发周期,避免重复造轮子。

3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

4. 可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部Python程序无需修改就几乎能够在市场上全部的系统平台上运行

5. 可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。

6. 可嵌入性————你能够把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能

  • 缺点

1. 代码不能加密————由于PYTHON是解释性语言,它的源码都是以明文形式存放的,不过我不认为这算是一个缺点,若是你的项目要求源代码必须是加密的,那你一开始就不该该用Python来去实现;

2. 多线程支持很差;

3. Python慢————Python解释器将程序的读入内存    编译成字节码  à字节码转换为机器码 à底层执行。

1.2.三、Python的发展历程

1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他但愿这个新的叫作Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

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

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

1999年 Python的web框架之祖——Zope 1发布

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

Python 2.4 – 2004/11/30, 同年目前最流行的WEB框架Django 诞生

Python 2.5 - 2006/09/19

Python 2.6 - 2008/10/1

Python 2.7 - 2010/07/03

Python 3.0 - 2008/12/03

Python 3.1 - 2009/06/27

Python 3.2 - 2011/02/20

Python 3.3 - 2012/09/29

Python 3.4 - 2014/03/16

Python 3.5 - 2015/09/13

Python 3.6 - 2016/12/23

2014年11月,Python2.7将在2020年中止支持的消息被发布,而且不会在发布2.8版本,建议用户尽量的迁移到3.4+

Python最初发布时,在设计上有一些缺陷,好比Unicode标准晚于Python出现,因此一直以来对Unicode的支持并不彻底,而ASCII编码支持的字符有限。例:对中文支持很差。

Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,因此不少早期版本的Python的程序没法再Py3上运行。

为了照顾早期的版本,推出过渡版本2.6——基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,容许使用部分Python 3.0的语法与函数。

2010年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7

2.7比2.6进步很是多,同时拥有大量3中的特性和库,而且照顾了原有的Python开发人群。

1.2.四、Python的种类

Python是一门解释型语言,代码想运行,必须经过解释器执行,Python的解释器自己也能够看做是个程序(翻译官是哪国人不重要),这个程序是什么语言开发的呢? 答案是好几种语言? what? 由于Python有好几种解释器,分别基于不一样语言开发,每一个解释器特色不一样,但都能正常运行咱们的Python代码,下面分别来看下:

v CPython:

CPython是使用最广且被的Python解释器。本教程以CPython为准。当咱们从Python官方网站下载并安装好Python 2.7后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行python就是启动CPython解释器。

v IPython:

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器虽然外观不一样,但内核其实都是调用了IE。

CPython用>>>做为提示符,而IPython用In [序号]:做为提示符。

v PyPy:

PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到PyPy下执行,就须要了解PyPy和CPython的不一样点。

v Jython:

Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。

v IronPython:

IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。

Python2 or Python3

目前虽然业内不少企业还在大量使用Python2.6 或 2.7,由于旧项目几十万甚至上百万行的代码想快速升级到3.0不是件容易的事,可是你们在开发新项目时几乎都会使用3.x。另外Python3 确实想比2.x作了不少的改进。

1.三、Python开发环境

1.3.一、Python的下载和安装

  Python目前已支持全部主流操做系统,在Linux,Unix,Mac系统上自带Python环境,在Windows系统上须要安装一下。

官网 https://www.python.org/downloads/windows/ 

双击下载好的exe文件:

 

注意勾选:Add Python 3.5 to PATH

1)Install Now:默认安装;

2)Customize installation自定义安装。

测试安装是否成功:

windows --> 运行 --> 输入cmd ,而后回车,弹出cmd程序,输入python,若是能进入交互环境 ,表明安装成功。

运行第一个Python程序:

1)进入解释器的交互式模式:调试方便,没法永久保存代码

 

2)脚本文件的方式(使用nodpad++):永久保存代码(保存在D盘中 hello.py)

 

强调:python解释器执行程序是解释执行,即打开文件读内容,所以文件的后缀名没有硬性限制,但一般定义为.py结尾

1.3.二、Python IDE集成开发工具

这里针对的是pycharm-community-2017.2.1.exe

 

第一次打开pycharm会显示这个

 

相关文章
相关标签/搜索