《Python数据科学实践指南》一 第1章 Python介绍

简介: Python之父吉多·范罗苏姆是在一个圣诞节的假期为了打发无聊时光而开发的Python早期版本,不过当时由于电脑性能太差,而Python的设计又强调通过消耗电脑的时间来节约人力的时间,导致Python程序运行缓慢,因此在早期并没有受到太多关注。

本节书摘来自华章出版社《Python数据科学实践指南》一书中的第1章,第1.1节,纪路 著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第1章

Python介绍

本书主要介绍数据科学所使用的工具,但因为每一种语言都有自己的生态系统,而笔者多用Python,所以本书主要会从Python的角度来介绍这些工具。阅读本书的读者,不管之前的基础如何,如果对Python这门编程语言有一定的了解,将能更好地掌握书中内容。可能有很多读者曾经在学校里学过C/C++或是VB,又或者听说过Java、PHP等这样广泛使用的编程语言,初闻Python的时候可能会对这个名字略感陌生,不过这一点并不能阻碍Python成为数据科学领域的“一等公民”。从本质上来说,编程语言都是类似的,即通过计算的方式表达人类大脑中的想法,可能读者现在还想象不出来在电脑上浏览网站的动作是如何转换成公式,并通过电脑进行计算的。这个看似简单的动作其实包含了一系列从低级到高级的抽象,也就是我们常说的算法、设计模式等内容。现在的编程语言有上千种之多,虽然各有各的特色,但是都脱离不了基本的算法和设计模式。很多有用的框架都在多种编程语言上实现过,他们的功能几乎是一致的。不过这些种编程语言中也有着一些明显的区别,表1-1提供了区分不同编程语言的一些维度。

1_1

表1-1中灰色部分就是Python所对应的特性。总的来说,Python是一门高级语言,使用者并不需要关心计算机底层是如何工作的。而且Python的使用不仅局限于数据处理,它还可用于Web开发、嵌入式开发等领域,是一门被广泛使用的高级语言。
由于Python是解释运行的,因此并不需要提前编译,省去了大量的麻烦,并且可以在大多数常见的操作系统上执行。

1.1 Python的版本之争

笔者非常希望这本书是你的第一本Python书,这样本书就不用去解释为什么Python会有两个不兼容的版本了。但是,这个问题必须解释清楚!因为这是一本入门类图书,不仅应该讲授当下必须了解的知识,还应当适当地回顾历史、展望未来。Python之父吉多·范罗苏姆是在一个圣诞节的假期为了打发无聊时光而开发的Python早期版本,不过当时由于电脑性能太差,而Python的设计又强调通过消耗电脑的时间来节约人力的时间,导致Python程序运行缓慢,因此在早期并没有受到太多关注。2001年Python才发布了2.0版本,实际上在2.4版本发布的2004年之后Python的使用才开始快速增长。Python 2.5版本在以前是一个非常流行的版本,以至于这个版本被维护了很多年,至今仍然能够看到很多以这个版本撰写的图书。在这个时期电脑的性能得到飞速提升,程序员们也慢慢地接受了这种花费计算机的一些时间来节约自己的时间的理念。在Python 2.x发布了9年之后的2009年,Python 3.x发布了,为了解决2.x版本中的一些早期设计缺陷,以及包括字符串编码等Python老大难问题。不过这似乎也带来了更多的问题,在经过了3个版本的补救之后,3.4版对Python3.x进行了大刀阔斧的修改,以至于在3.x的版本中3.4之前和之后的版本也并不兼容。好在当时迁移到3.x的项目并不多,不过这也确实给人以Python 3.x不靠谱的印象,因此也为以后3.x版本的推广增加了一些难度。当然坊间流传的另外一个原因是“Python 3.x比Python 2.x慢”,我不得不承认这是个事实,但Python本来也不是以快为目的而设计的,所以真的不必在意这一点。
目前,常用的Python有两个版本,Python 2.x和Python 3.x(通常指3.4以后的版本,3.0-3.3版本官方已经不推荐使用了),两个版本在很多方面都不兼容,甚至简单的“打印”输出都不兼容,所以基本上没办法无痛地将写好的Python程序在两个不同版本的解释器上运行。Python 3.0于2009年年初发布,Python社区从版本2向版本3的跨越用了7年时间,但仍然说不上成功,大量有用的库仍然不支持Python 3。即使有这样的问题,新版本的Python仍有不少优点,比如它统一了Python 2中比较混乱的部分,解决了编码问题,增加了新式类,尤其在Python 3.5这个版本中,还增加了异步关键字async、await等,这些改变使得Python 3相比于Python 2有着很大的优势。然而在本书写作之时,仍然有一些重要的库不支持Python 3,所以笔者推荐使用Python 2.7进行本书的学习。不过为了着眼未来,本书会尽量使用Python 3的风格来书写程序,并且会在首次出现时注明,希望能够帮助那些未来会使用Python 3的读者减少一些迁移的痛苦。

相关文章
|
14天前
|
机器学习/深度学习 数据可视化 数据挖掘
探索Python的奥秘:数据科学中的利器
本文将深入探讨Python编程语言在数据科学领域的强大应用。通过简洁易懂的语言,我们将解析Python的核心概念、流行库以及在实际项目中的应用,帮助您理解为何Python成为数据科学家的首选工具。
30 0
|
8天前
|
机器学习/深度学习 数据可视化 TensorFlow
探索Python在数据科学中的应用
这篇文章深入探讨了Python编程语言在数据科学领域的强大应用。从数据处理、分析到可视化,再到机器学习和深度学习,Python因其丰富的库和框架而成为数据科学家的首选工具。文章不仅介绍了Python的基本语法和数据结构,还详细讨论了如何使用Pandas进行数据清洗和预处理,以及NumPy和SciPy在数值计算中的重要性。此外,文章还涵盖了使用Matplotlib和Seaborn进行数据可视化的技巧,以及Scikit-learn和TensorFlow在构建预测模型中的应用。通过综合运用这些工具,数据科学家能够更有效地分析大量复杂的数据集,从而洞察趋势、模式和关联性,支持决策制定和策略优化。
14 2
|
20天前
|
数据采集 机器学习/深度学习 数据可视化
Python 在数据科学中的应用
这篇文章将深入探讨 Python 在数据科学中的多种应用,包括数据清洗、数据分析、可视化及机器学习。我们将通过实例展示如何利用 Python 的强大库和工具,如 Pandas、NumPy、Matplotlib、Seaborn 以及 Scikit-learn,来高效地进行数据处理与分析。无论您是初学者还是有经验的开发者,这篇文章都能为您提供宝贵的见解和实用技巧。
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
使用Python进行数据科学入门指南
【8月更文挑战第6天】使用Python进行数据科学是一条充满挑战和机遇的道路。本文提供了入门指南,帮助您快速上手Python数据科学。通过实践项目和资源推荐,您将能够深入学习Python数据科学,成为一名合格的数据科学家。
|
3月前
|
机器学习/深度学习 数据采集 IDE
使用Python进行数据科学探索
【7月更文挑战第30天】通过本文,我们了解了如何使用Python进行数据科学探索的全过程,从环境搭建、数据收集、清洗、分析到机器学习应用。Python的强大功能和丰富的库使得数据科学探索变得简单而高效。希望这篇文章能为您的数据科学之旅提供有价值的参考。随着实践的深入,您将逐渐掌握更多高级技术和方法,解锁数据背后的无限潜力。
|
2月前
|
机器学习/深度学习 数据挖掘 数据处理
探索NumPy:Python数据科学的核心库
【8月更文挑战第20天】
46 0
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
69 3
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
完整的Python数据分析流程案例解析-数据科学项目实战
【7月更文挑战第5天】这是一个Python数据分析项目的概览,涵盖了从CSV数据加载到模型评估的步骤:获取数据、预处理(处理缺失值和异常值、转换数据)、数据探索(可视化和统计分析)、模型选择(线性回归)、训练与评估、优化,以及结果的可视化和解释。此流程展示了理论与实践的结合在解决实际问题中的应用。
96 1
|
3月前
|
开发者 Python
Python模块化编程实践指南
【7月更文挑战第20天】在Python开发中,模块化编程是一种重要的方法,它能够提高代码的可维护性、可读性和可重用性。本文将介绍Python模块化编程的基本概念,并通过一些实例演示如何有效地使用模块化编程。
74 0
|
4月前
|
运维 监控 API
自动化运维实践指南:Python脚本优化服务器管理任务
本文探讨了Python在自动化运维中的应用,介绍了使用Python脚本优化服务器管理的四个关键步骤:1) 安装必备库如paramiko、psutil和requests;2) 使用paramiko进行远程命令执行;3) 利用psutil监控系统资源;4) 结合requests自动化软件部署。这些示例展示了Python如何提升运维效率和系统稳定性。
324 8
下一篇
无影云桌面