《Python数据科学实践指南》一0.3 为什么是Python

0.3 为什么是Python

通过书名,各位读者就应该知道这是一本讲解Python编程的书了。数据科学只是个引子,我希望能通过相关的例子和练习激发出读者的兴趣,帮助读者除掉编程这条拦路虎。在很多非计算机相关专业的人的概念里,编程是要归为玄学分类的,通过一堆意义不明的符号就能驱动计算机完成各种各样的任务,是不是有点像魔法师口中所念的咒语。但事实上,计算机只能做两件事情,执行计算并记录结果,只不过它的这两项能力远远超过人类大脑的能力(读者可能看过一些文章,其中有些研究声称尝试估算过人类大脑的计算能力,发现人脑的计算能力仍然比现今最先进的计算机还要快很多倍。但是人类大脑中有些模块,比如视觉、语言,是人类经过亿万年的演化,大自然进行极致优化所产生的结果。这里对于计算和存储能力的比较仅是指数学计算和文字存储方面)。以我正在使用的笔记本来说,其拥有主频为2.5GHz的双核处理器,总计约等于50亿次/秒的计算速度。而512GB的硬盘则可以存储10万本书(按每本书5MB计算,实际上5MB大小的书应该算是鸿篇巨著了。假如按UTF-8编码,每个中文占3~4个字节(byte),而5MB约有500万个字节,这至少是一本百万字的书)。如果想要使用计算机这种能力强大的工具,就需要掌握一门编程语言,用来和计算机进行沟通。虽然我也想为各位读者科普一下众多的编程语言,不过这毕竟是一本教授Python编程的书,所以这里只通过以下几个方面来阐述一下用Python作为数据科学工具的理由。
(1)简单易上手
Python被誉为可执行的“伪代码”,其语法风格接近人类的语言,即使是第一次看代码的人也能很容易理解程序所要实现的功能,读者可以试着阅读下面这段代码:

for i in range(0, 10):
    print(i)

上面的代码中range代表一段区间,0代表下界,10代表上界,通常Python程序的上下界是左闭右开的一个区间。for的含义表示“这其中的每一个数”,print就不言自明了,代表打印结果到屏幕上。
除了优雅的语法之外,Python还属于解释性语言,我们可以不经过编译、链接等步骤直接获得程序执行的结果。而且Python还拥有交互式解释器,可以让我们随时随地测试我们的代码,如图0-1所示。

(2)资源丰富、应用广泛
已经有很多书讲解了Python相关的技巧,比如《编程导论》是麻省理工学院(MIT)计算机科学导论的课程;《Python编程实战》是一本Python编程技巧进阶的好书,介绍了在Python中如何实践设计模式;《机器学习实战》主要讲解了机器学习的常见算法,其中使用Python编写了全部的代码;《Python高手之路》对如何使用Python构建大型系统提出了很多有益的见解。而且使用Python的知名项目也很多,比如OpenStack开源云计算平台就是由Python编写的,还有世界上最大的视频网站YouTube也是使用Python开发的,等等。当然Python在大数据应用上也有其独特的优势,科学计算库NumPy和SciPy、绘图模块Pylab、统计库Pandas、机器学习库Scikit-learn都是为Python所设计的,现在流行的Hadoop和Spark也都提供了Python接口。可以说在“大数据”“数据科学”领域,如果某一个产品不支持Python,那么其前景将会是难以想象的。
(3)跨平台、免费
Python官方提供了多平台的解释器,包括Windows、Mac OS X、Linux甚至更多的其他平台,你所写的Python代码,可以在不经修改的情况下移植,比如在Windows上开发,在Linux服务器上运行,不会有任何问题。而且Python是免费且开源的,不仅标准库可以随意阅读其源码,连官方解释器的C语言实现也可以获得其源码。Python社区是鼓励分享的,读者不仅可以从中学到很多编程的技巧,甚至还可以做出一些贡献。

时间: 2024-10-02 07:59:24

《Python数据科学实践指南》一0.3 为什么是Python的相关文章

《Python数据科学实践指南》——0.1节何谓数据科学

0.1 何谓数据科学 在家用计算机普及之前,数学.逻辑学.哲学及自然科学研究的目的都是为了追求完美的理论证明,或者是提供某种确定性的规则,用以解释某种自然现象,或者为某些技术提供理论依据.那个时候人类产生数据的能力和收集数据的能力还很有限,或许公司的经营账目和计算导弹发射弹道的演算纸就属于数据最集中的地方了.在那个年代,这些数据分析和处理的工作大都是由人工完成的,最多也只会借助某些由机械或电子构成的计算装置罢了.在互联网兴起之后,人类将现实世界中的很多信息以数据的形式存储到网络空间中,比如生活中

《Python数据科学实践指南》——0.3 为什么是Python

0.3 为什么是Python 通过书名,各位读者就应该知道这是一本讲解Python编程的书了.数据科学只是个引子,我希望能通过相关的例子和练习激发出读者的兴趣,帮助读者除掉编程这条拦路虎.在很多非计算机相关专业的人的概念里,编程是要归为玄学分类的,通过一堆意义不明的符号就能驱动计算机完成各种各样的任务,是不是有点像魔法师口中所念的咒语.但事实上,计算机只能做两件事情,执行计算并记录结果,只不过它的这两项能力远远超过人类大脑的能力(读者可能看过一些文章,其中有些研究声称尝试估算过人类大脑的计算能力

《Python数据科学实践指南》——0.2 如何成为数据科学家

0.2 如何成为数据科学家 读者应该知道这个问题很难回答,失败的原因总是相似的,成功的经历却各有不同.从来没有人靠复制他人的经历就能获得同样的成就,就像"人不能两次踏入同一条河流"的哲学观点一样,没有人可以复制别人的经历,更何谈成就.因此在回答这个问题时,我只假设一些概念上的前提条件:良好的计算机科学基础,较高的英文读写水平,极强的自学能力,还有一些个人品质比如耐心.毅力.乐于分享,等等.不过最重要的还是"兴趣",我相信能花上几十块钱购买这本书的读者一定是有兴趣的,

《Python数据科学实践指南》——0.2节如何成为数据科学家

0.2 如何成为数据科学家读者应该知道这个问题很难回答,失败的原因总是相似的,成功的经历却各有不同.从来没有人靠复制他人的经历就能获得同样的成就,就像"人不能两次踏入同一条河流"的哲学观点一样,没有人可以复制别人的经历,更何谈成就.因此在回答这个问题时,我只假设一些概念上的前提条件:良好的计算机科学基础,较高的英文读写水平,极强的自学能力,还有一些个人品质比如耐心.毅力.乐于分享,等等.不过最重要的还是"兴趣",我相信能花上几十块钱购买这本书的读者一定是有兴趣的,因

《Python数据科学实践指南》一 第2章 Python基础知识

第2章 Python基础知识 为了开启我们的数据科学之旅,本章会进行一些基础的编程训练.第1章中已经搭建好了Python的运行环境,读者应该已经能够在Python shell中执行简单的打印和四则运算了.接下来我们要完整地学习一遍构成一个Python程序的基本要素. 2.1 应当掌握的基础知识 本节会介绍一些学习Python前应当掌握的基础知识,这一部分内容在所有的编程语言学习中基本上都是类似的,Python当然也遵守这些通用的规则,熟悉这些内容的读者可以跳过这一节. 2.1.1 基础数据类型

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

第1章 Python介绍 本书主要介绍数据科学所使用的工具,但因为每一种语言都有自己的生态系统,而笔者多用Python,所以本书主要会从Python的角度来介绍这些工具.阅读本书的读者,不管之前的基础如何,如果对Python这门编程语言有一定的了解,将能更好地掌握书中内容.可能有很多读者曾经在学校里学过C/C++或是VB,又或者听说过Java.PHP等这样广泛使用的编程语言,初闻Python的时候可能会对这个名字略感陌生,不过这一点并不能阻碍Python成为数据科学领域的"一等公民".

《Python数据科学实践指南》一1.2 Python解释器

1.2 Python解释器 由于Python是一门开源语言,所以只要愿意,任何人都可以为其实现一个解释器.目前官方解释器CPython是绝对主流,如果读者有兴趣,可以了解一下其他的版本,比如支持JIT(即时编译)的PyPy,可以把Python编译成C语言的Cython,拥有notebook这样友好.方便编程界面的IPython等.本书会使用官方解释器CPython进行讲解,并且还会使用到一些第三方的库,本节也将介绍一下如何在主流的操作系统中安装必要的软件. 1.2.1 Mac OS X系统 如果

《Python数据科学实践指南》——0.4 一个简单的例子

0.4 一个简单的例子 下面是一段用Python编写的有趣的代码,这里所用的模块并不会在本书中进行讲解,仅仅是向购买本书的你表示我的感激. 代码清单如下: # ! /usr/bin/python # -- coding: utf-8 -- import sys from colorama import init init(strip=not sys.stdout.isatty()) from termcolor import cprint from pyfiglet import figlet_

《Python数据科学实践指南》——0.4节一个简单的例子

0.4 一个简单的例子下面是一段用Python编写的有趣的代码,这里所用的模块并不会在本书中进行讲解,仅仅是向购买本书的你表示我的感激.代码清单如下: # ! /usr/bin/python # -*- coding: utf-8 -*- import sys from colorama import init init(strip=not sys.stdout.isatty()) from termcolor import cprint from pyfiglet import figlet_

《Python数据科学实践指南》——1.4 使用Python shell调试程序

1.4 使用Python shell调试程序 Python shell不仅为Python初学者提供了一个方便的入门工具,更是提高了专业程序员和数据科学家们的生产力.比如在编写程序时忘记了某个表达式的写法,可以打开Python shell,在里面调试好了之后再写入程序.或者直接在Python shell中探索原始数据文件中的数据,变换数据的结构,执行计数.去重.分组等操作.并且可以随时查看前辈们留给我们的建议,比如在Python shell中输入import this,将导入Python中一个名为