1.Python程序
目前,Python仍然是两个系列的版本并存,一个是Python2(最新版本是2.7.13),另一个是Python3(最新版本是3.7.1)。
这两个版本的语法不完全兼容,因此两个版本的程序调用对方的执行脚本很可能会报错。
从现在来看,Python2和Python3都已经非常成熟,因此大多数支持Python2并且仍然开发和维护的库也开始支持Python3。从长远来看,Python2终究是要被抛弃的,所以迟早是要升级到Python3的。
如果想要成熟、可靠且稳定的程序,选择Python2。
如果只是想学习或了解一下Python,Python2和Python3都可以。
如果是企业内部应用,具体看企业用的是哪个版本。
如果你的工作中需要大量的第三方库,那么使用Python2会让你有更多选择。
如果你的程序需要在Linux服务器上运行,那么去看看你的Linux服务器自带的Python是什么版本(Linux服务器上自带Python2的居多)。如果上述没有任何一个场景满足你的需求,那么就从Python2开始吧。由于历史原因,Python2有更多的应用案例、专业书籍和知识讨论分享社区。
2.PythonIDE
Python自带IDE,可以满足一定的数据开发和测试需求,在交互型的开发和学习上,也有IPython可供选择。但这里建议大家选择另外一个PythonIDE工具——PyCharm。PyCharm带有一整套可以帮助用户在使用Python语言开发时提高效率的工具,比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制并可集成IPython、系统终端命令行等。在PyCharm里几乎可以实现所有有关Python的工作。下图是PyCharm工具界面截图。
3.第三方库
Python第三方库包括交互开发库、科学计算库、机器学习库、自然语言库、数据库连接库、图像处理库、网络爬虫库、图像展示库等。
(1)交互开发库——IPythonIPython是一个基于Python的交互式shell,比默认的Pythonshell好用得多,支持变量自动补全、自动缩进、交互式帮助、魔法命令、系统命令等,内置了许多很有用的功能和函数。在本书所说Python第三方库中,若无特殊说明,默认使用IPython作为交互和测试工具。IPython的安装可直接在系统终端的命令行窗口使用pipinstallipython完成。安装成功之后,进入系统终端命令行窗口,输入ipython,回车后进入交互开发界面
(2)科学计算库NumpyNumpy(NumericPython)是Python科学计算的基础工具包,它提供的功能包括:
快速高效的多维数组ndarray,大多数Python的多维数据组都是基于Numpy进行处理的。
基于数组整体或元素级别进行科学计算的能力,需要迭代循环。
比较成熟的(广播)函数库。用于整合C、C++和Fortran代码到Python的工具包。实用的线性代数、傅里叶变换和随机数生成函数。
Numpy和稀疏矩阵运算包Scipy配合使用更加方便。
多种库和算法间进行数据交互的“数据容器”,由低级语言(例如C)编写的库可直接读取Numpy的数据而不必经过转换。
(3)机器学习库——scikit-learnscikit-learn(又称Sklearn)是一个基于Python的机器学习综合库,内置监督式学习和非监督式学习两类机器学习方法,包括各种回归、K近邻、贝叶斯、决策树、混合高斯模型、聚类、分类、流式学习、人工神经网络、集成方法等主流算法,同时支持预置数据集、数据预处理、模型选择和评估等方法,是一个非常完整的机器学习工具库。scikit-learn是Python数据挖掘和机器学习的主要库之一。
(4)自然语言处理库
结巴分词由于NLTK本身不支持中文分词,因此在针对中文的处理过程中,我们会引入其他分词工具,例如结巴分词。结巴分词是国内的Python文本处理工具包,分词模式分为三种:精确模式、全模式和搜索引擎模式。结巴分词支持繁体分词、自定义词典等,是非常好的Python中文分词解决方案,可以实现分词、词典管理、关键字抽取、词性标注等。结巴分词的安装直接使用pipinstalljieba命令即可。安装成功之后,在IPython中输入importjieba时,若不报错则说明该库已经成功安装并导入。
(5)数据库连接
数据库存储是企业数据存储的基本方式,数据库类型包括MySQL、Oracle、SQLServer、DB2、Sybase等,基于大数据场景下还会包括Hive、HBase、MongoDB、Redis等的数据存储。