第 2 章 Python 入门

完成一个完整的文本数据分析而过程,除了准备待分析的文本数据和掌握自然语言处理、文本数据分析理论外,还要会使用合适的分析工具进行实现。本书在第 1 章已经介绍了文本数据分析的相关理论知识,本章将针对文本数据分析工具语言 Python 进行讲解,向 Python 的初学者介绍 Python 相关的基本概念与操作。Python 是一种用于浏览和处理文本数据的优秀工具,其语法清晰简洁、易用,可扩展性以及丰富庞大的库深受广大开发者喜爱,其内置的非常强大的机器学习代码库和数学库,使 Python 理所当然成为自然语言处理的开发利器。此外,要使用第三方文本数据分析工具库之前,需要在 Python 环境下安装,本章后半部分将讲解主要工具库的安装步骤。 本章具体内容安排如下:2.1 节为 Python 入门章节,从 Python 初学者的角度出发,分别介绍了什么是 Python 和 Python 解释器,列举了用 Python 进行文本数据分析的优势,在此基础上讲解了 Python 安装与使用,具体包括 Python 的基本操作、数据结构、基本语句等;2.2 节将会对本书涉及的文本数据分析工具的安装进行统一说明,包括 Jupyter Notebook、jieba、NLTK、Matplotlib、Numpy、Pandas 等。

2.1 Python 简介

2.1.1 什么是 Python

Python 是由 Guido van Rossum 于 20 世纪 90 年代初开发的面向对象的编程语言,通过 Python 语言可以实现对计算机的控制,类似于 Perl、Ruby、Scheme、Java 等。Python 有以下显著特征:(1)语法优雅,程序可读性强;(2)简单易用,非常适用于原型开发以及其他专门的开发任务;(3)提供了非常完善的标准代码库,支持连接 web 服务器、搜索文本、阅读和修改文件等基础编程任务;(4)交互模式方便测试代码片段;(5)有很强的扩展性和嵌入性;(6)适用于多种系统,包括 Mac OS X、Windows、Linux 和 Unix;(7)下载和使用完全免费,开源;(8)除了内置的库外,Python 还有大量的第三方库供直接使用;(9)支持多种基本数据结构,如数值(浮点数、复数、长整型)、字符串(ASCII 和 Unicode 编码均可)、列表和字典。 Python 程序简单易懂,初学者入门容易,可深入性强。经过 20 多年的发展,Python 已经成为重要的编程语言之一,许多大型网站就是用 Python 开发的,例如全球最大的视频网站 YouTube,Instagram,国内的豆瓣,谷歌和国内的易度云计算开发平台也都选择了 Python 语言,NASA(美国航空航天局)、JPL 等都大量地使用 Python实现科学计算。

2.1.2 Python 解释器

计算机不能直接认识并执行我们写的编程语言,它只能认识机器语言,而解释器是一种翻译程序,能完成从编程语言到机器语言这一翻译过程。Python 解释器就是将 Python 语言翻译成计算机语言并执行的翻译程序,也就是说当我们写完 Python 语句时,我们得到的是一个包含 Python 代码的以“.py”为扩展名的文本文件,要运行代码,需要 Python 解释器去解释、执行该文件。由于实现的方式不同,存在多种 Python 解释器,下面一一向读者介绍。

2.1.2.1 CPython

CPython 是用 C 语言实现的 Python 解释器,也是官方的并且是最广泛使用的 Python 解释器,从 Python 官方网站下载并安装好 Python 后,就直接获得了 CPython 解释器。

2.1.2.2 iPython(An interactive Python kernel and REPL)

iPython 是基于 CPython 的实现一种交互式解释器,支持变量自动补全、自动缩进,内置了许多很有用的功能和函数。

2.1.2.3 Jython

Jython 旧称 JPython,是 Python 的 Java 实现。

2.1.2.4 PyPy

PyPy 时用 rPython 实现的 Python,rPython 是 Python 的一个子集。

2.1.2.5 IronPython

IronPython 是运行在微软 .Net 平台上的 Python 解释器。

2.1.3 用 Python 进行文本数据分析的优势

作为一种通用语言,Python 可以被用于编写任何类型的程序,但是在编写脚本、网站开发、科学计算以及文本处理领域最为常用,在文本处理领域,Python 的优势体现在以下几个方面。相较于其他流行的计算机编程语言,Python 内置的字符串处理函数使其字符串处理方面具有天然优势,其灵活多样的数据格式也更方便于文本数据的结构化。同时,Python 平台还有拥有诸如 NLTK等相对完善的自然语言分析库,以及 scipy、sklearn 等实用数据挖掘模块,适合文本数据分析初学者的使用与操作。除此之外,对比于 R 等统计分析编程语言,Python 虽然没有内置强大的矩阵计算函数和精美的可视化包,但是更加通用、直观与容易,其 Notebook 的组织形式能够很容易地与他人沟通共享,既适合于有一定编程背景的数据分析初学者,也在从事数据分析与统计工作的人员中广受欢迎。文本数据分析工作往往会涉及多个学科与行业,而 Python 好上手与易交流的特性能使我们更容易地将不同行业的人集合在一起,这也是本书选择它的重要原因之一。

2.1.4 Python 安装与使用

2.1.4.1 Python 版本介绍

目前 Python 官网上可以下载到的有两个版本:Python 2.x 和 Python 3.x。

Python 2.x 是旧版本,但是当前各个领域主要使用的版本,大多生产环境也会应用 2.x 版本 ,Python 官方核心团队表示 2.7 是 Python 2.x 最后的一版本,但是因为使用规模的比较大的问题,2.7 的小版本也一直在维护中,2016 年末最后发布的正式版本为 2.7.13 。

Python 3.x 是 2008 年发布的版本,一直在持续更新迭代,2012 年发布3.3,2014 年发布 3.4,2015年发布 3.5,2016 年末最后发布的正式版本为 3.6.0 。Python 3.x 是未来 Python 核心开发团队主要发展和维护的版本,是未来的发展方向。

Python 2.x 与 Python 3.x 这两个版本是存在不相兼容的部分的,相对于 2.x 版本,部分第三方库还暂时无法在 3.x 上使用,但是近期标准库的跟新只体现在版本 3.x 中,二者具体差异请阅读 2.4.1 提供的官方说明文档。

那么要使用哪个版本呢?这取决于使用者的用途。使用 3.x 版本会面临一些小问题,比如部分库不能使用、目前发行的一些 Linux 和 Mac 仍然默认使用 2.x ,但是如果你已经安装了 Python 3.x ,并且不会用到 Python 2.x 的模块,那么 3.x 是很好的选择,而且大多数目前发行的 Linux 也正在逐步淘汰 Python 2.x 。但是,以下几种情况建议使用 Python 2.x:(1)如果需要部署到不可控环境,比如需要利用特定版本;(2)如果需要使用一些包或工具,但是这些包或工具还未发行适用于 Python 3.x 的版本,而且移植需要大量的工作。

更加详细的对比请见,官方文档 https://wiki.python.org/moin/Python2orPython3

本书以 Python 2.7.x 版本为基础。

2.1.4.2 Python 的安装和运行

Python 的安装十分简单,并且目前发行的很多 Linux 和 UNIX 都已经安装了最近版本的 Python,甚至有些 Windows 系统也已经安装了 Python。下面就简单说明下不同系统下 Python 的安装步骤与运行。

(1)Windows

安装步骤如下:

第一步,从 Python 的官方网站(https://www.python.org/downloads/windows/)下载所需的 Python 版本;

第二步,运行下载的 MSI 安装包,弹出以下对话框

在选择安装组件的一步时,勾上所有的组件,特别时 pip 和 Add python.exe to Path ,然后点“Next”完成安装,默认会安装到 C:\Python27 目录下。

最后,打开命令提示符窗口,输入 python 后,出现以下结果:

说明已经成功安装了 Python ,提示符 >>> 表示处于 Python 交互式环境,输入任何 Python 代码,回车后即可立刻得到执行结果,想要退出 Python 交互式环境,可以输入 exit()并回车,也可以直接关掉命令行窗口。

另外,开源社区还有专门为 Windows 用户打包定制的 Python 发行版 WinPython ,已经集成了很多常用的 Python 科学计算相关第三方程序包,方便大家安装使用,详见: http://winpython.sourceforge.net/

(2)Mac OS X

Mac OS X 系统自带 Python,打开终端应用程序直接输入 Python 代码即可,如果安装了 iPython,在终端输入 ipython ,即可进入 ipython 解释器。如果要安装更新的 Python 版本,可按https://www.python.org/downloads/mac-osx/ 给出的说明操作。

(3)Linux

常见的 Linux 发行版都内置了 Python ,所以 Linux 系统很可能已经安装了 Python,可打开命令行窗口并输入 python 进行确认。

具体如何安装因 Linux 系统而异,读者可以访问 https://www.python.org/downloads/ 了解如何在 Linux 系统上安装 Python。

results matching ""

    No results matching ""