Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。html
如今,全世界差很少有600多种编程语言,但流行的编程语言也就那么20来种。若是你据说过TIOBE排行榜,你就能知道编程语言的大体流行程度。这是最近10年最经常使用的10种编程语言的变化图:python
许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。不少大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。算法
龟叔给Python的定位是“优雅”、“明确”、“简单”,因此Python程序看上去老是简单易懂,初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂的程序。macos
Python的小脾气编程
Python程序是大小写敏感的,若是写错了大小写,程序会报错。浏览器
Python使用缩进来组织代码块,请务必遵照约定俗成的习惯,坚持使用4个空格的缩进。网络
在文本编辑器中,须要设置把Tab自动转换为4个空格,确保不混用Tab和空格。多线程
任何编程语言都有缺点,Python也不例外。编程语言
先看优势编辑器
Python的定位是“优雅”、“明确”、“简单”,因此Python程序看上去老是简单易懂,初学者学Python,不但入门容易,并且未来深刻下去,能够编写那些很是很是复杂的程序。
开发效率很是高,Python有很是强大的第三方库,基本上你想经过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大下降开发周期,避免重复造轮子。
高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
可移植性————因为它的开源本质,Python已经被移植在许多平台上(通过改动使它可以工 做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部Python程序无需修改就几乎能够在市场上全部的系统平台上运行
可扩展性————若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用C或C++编写,而后在你的Python程序中使用它们。
可嵌入性————你能够把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
再看缺点:
速度慢,Python 的运行速度相比C语言确实慢不少,跟JAVA相比也要慢一些,所以这也是不少所谓的大牛不屑于使用Python的主要缘由,但其实这里所指的运行速度慢在大多数状况下用户是没法直接感知到的,必须借助测试工具才能体现出来,好比你用C运一个程序花了0.1s,用Python是0.01s,这样C语言直接比Python快了10s,算是很是夸张了,可是你是没法直接经过肉眼感知的,由于一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数状况下Python已经彻底能够知足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种状况下,固然仍是建议你用C去实现的。
代码不能加密,由于PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,若是你的项目要求源代码必须是加密的,那你一开始就不该该用Python来去实现。
线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任什么时候刻仅有一个线程在执行,Python的线程是操做系统的原生线程。在Linux上为pthread,在Windows上为Win thread,彻底由操做系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行。关于这个问题的折衷解决方法,咱们在之后线程和进程章节里再进行详细探讨。
当咱们从Python官方网站下载并安装好Python 2.7后,咱们就直接得到了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,因此叫CPython。在命令行下运行python
就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的全部代码也都在CPython下执行。
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所加强,可是执行Python代码的功能和CPython是彻底同样的。比如不少国产浏览器虽然外观不一样,但内核其实都是调用了IE。
CPython用>>>
做为提示符,而IPython用In [序号]:
做为提示符。
PyPy是另外一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),因此能够显著提升Python代码的执行速度。
绝大部分Python代码均可以在PyPy下运行,可是PyPy和CPython有一些是不一样的,这就致使相同的Python代码在两种解释器下执行可能会有不一样的结果。若是你的代码要放到PyPy下执行,就须要了解PyPy和CPython的不一样点。
Jython是运行在Java平台上的Python解释器,能够直接把Python代码编译成Java字节码执行。
IronPython和Jython相似,只不过IronPython是运行在微软.Net平台上的Python解释器,能够直接把Python代码编译成.Net的字节码。
Python的解释器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是经过网络调用来交互,确保各程序之间的独立性。
Python的安装
目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。因为3.x版愈来愈普及,咱们的教程将以最新的Python 3.5版本为基础。请确保你的电脑上安装的Python版本是最新的3.5.x,这样,你才能无痛学习这个教程。
若是你正在使用Mac,系统是OS X 10.8~10.10,那么系统自带的Python版本是2.7。要安装最新的Python 3.5,有两个方法:
方法一:从Python官网下载Python 3.5的安装程序(网速慢的同窗请移步国内镜像),双击运行并安装;
方法二:若是安装了Homebrew,直接经过命令brew install python3
安装便可。
若是你正在使用Linux,那我能够假定你有Linux系统管理经验,自行安装Python 3应该没有问题,不然,请换回Windows系统。
对于大量的目前仍在使用Windows的同窗,若是短时间内没有打算换Mac,就能够继续阅读如下内容。
首先,根据你的Windows版本(64位仍是32位)从Python的官方网站下载Python 3.5对应的64位安装程序或32位安装程序(网速慢的同窗请移步国内镜像),而后,运行下载的EXE安装包:
特别要注意勾上Add Python 3.5 to PATH
,而后点“Install Now”便可完成安装。
视频演示:
安装成功后,打开命令提示符窗口,敲入python后,会出现两种状况:
状况一:
看到上面的画面,就说明Python安装成功!
你看到提示符>>>
就表示咱们已经在Python交互式环境中了,能够输入任何Python代码,回车后会马上获得执行结果。如今,输入exit()
并回车,就能够退出Python交互式环境(直接关掉命令行窗口也能够)。
状况二:获得一个错误:
‘python’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
这是由于Windows会根据一个Path
的环境变量设定的路径去查找python.exe
,若是没找到,就会报错。若是在安装时漏掉了勾选Add Python 3.5 to PATH
,那就要手动把python.exe
所在的路径添加到Path中。
若是你不知道怎么修改环境变量,建议把Python安装程序从新运行一遍,务必记得勾上Add Python 3.5 to PATH
。
视频演示:
学会如何把Python安装到计算机中,而且熟练打开和退出Python交互式环境。
在Windows上运行Python时,请先启动命令行,而后运行python
。
在Mac和Linux上运行Python时,请打开终端,而后运行python3
。
PyCharm 5.03
连接:http://pan.baidu.com/s/1i5NZylB 密码:6kmu