简介
Python是一门高级编程语言,设计的原则为“优雅”、“明确”、“简单”,追求的是代码的开发效率、可读性以及可维护性。执行速度上并不是该语言的优势。目前主流版本为Python3和Python2。不过官方宣称到2020年会放弃对python2的支持。因此目前有很多优秀的第三方模块逐渐在新版本中放弃对Python2的支持。因此呢,我们选择Python3进行学习(虽然Python2和Python3不兼容,但是其实也不是区别的特别大)。目前第三方模块支持最普遍的Python3版本是3.5.x。所以我们的学习以目前3.5.x最新的版本为基础。
特点
- 入门简单,深入学习后也可解决非常复杂的需求
- 丰富的基础模块库解决各种方面的需求
- 强大的社区资源支持。不断有优秀的第三方模块出现来解决特定领域的需求
- 代码易读、易维护
缺点
- 运行速度较慢。比起C/C++、Java等静态语言,其执行速度较慢;
- Python3与Python2不兼容。并且有少量第三方模块仅支持Python2。虽然现在主流版本已经为Python3。但仍不能完全抛弃Python2
适用场景
- Web应用:包括网站、后台服务、API等;
- 脚本工具:服务器脚本以及各种小工具的编写;
- 胶水语言:可以方便的调用其他语言如C/C++,Java已开发完成的模块。例如Python经典的科学计算模块numpy的运算部分即是由C++完成。
- 数据科学:由于众多强大的第三方模块支持。Python已成为数据科学研究的首选语言。
Python解释器
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文件。计算机并不能知道文件里面的内容的意义。为了让计算机理解,就需要Python解释器去将文件内容翻译成计算机能理解的内容。
CPython
当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。本篇的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
小结
Python的解释器很多,但使用最广泛的还是CPython,确认安装成功了python既可使用CPython解释器。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
安装
截止目前,最新稳定版本为Python3.7.x,但目前第三方模块支持最好的是3.5.x版本。故学习开发时应以此版本为主。
MAC系统下安装
如果你正在使用Mac,系统是OS X>=10.9,那么系统自带的Python版本是2.7。要安装Python 3,有两个方法:
方法一:从Python官网下载安装包,https://www.python.org/downloads/mac-osx/;
方法二:如果安装了Homebrew,直接通过命令brew install python3安装即可。
LINUX系统下安装
Ubuntu
// 安装 Python 发布版本,dev包必须安装,很多用pip安装包都需要编译
$ sudo apt-get install python2.7 python2.7-dev python3.5 python3.5-dev
//很多pip安装的包都需要libssl和libevent编译环境
$ sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-dev libxml2-dev libxslt-dev
// pip是Python的包管理工具,建议Python的所有包都用pip进行管理,命令如下:
$ sudo apt-get install python-pip
// virtualenv是 Python 多版本管理的利器,不同版本的开发调试全靠它了(如果没有安装不同版本的Python则不需要安装了),命令如下:
$ sudo pip install virtualenv
CentOS
// 安装最新版本的EPEL
$ sudo yum install epel-release
// 安装python3.5
$ sudo yum install python35
// 安装pip和setuptools
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo /usr/bin/python3.5 get-pip.py
Fedora
python3目前已经成为了Fedora系统默认安装的python版本。
Windows系统下安装
确认系统是64位还是32位。然后到官网下载页面https://www.python.org/downloads/windows/下载对应版本。推荐下载executable版本。
其它工具安装
setuptools
此模块用于安装第三方模块源码。目前各版本均默认安装此模块。若需要安装。则需要下载:https://pypi.org/project/setuptools/#files 下载之后解压。到解压后的文件夹中执行命令:
python3 setup.py install
PIP
目前python下最常用的第三方模块安装工具。一般都默认安装。若需要重新安装。则需要下载:https://pypi.org/project/pip/#files 解压后进入文件夹执行命令。执行前需要确保已安装setuptools:
python3 setup.py install
编辑器
推荐使用pycharm