Think Python第二版中文版(免费开源)

点击关注上方“
知了小巷
”,

设为“置顶或星标”,第一时间送达干货。

点击阅读原文即可下载


第一章 编程之路 

本书的目的是教你学会
像计算机科学家一样来思考。

这种思考方式汇聚了
数学

工程

自然科学
的精华。

计算机科学家像数学家一样,使用规范的语言来阐述思想(尤其是一些计算);像工程师一样设计、组装系统,并且在多重选择中寻找最优解;像自然科学家一样观察复杂系统的行为模式,建立猜想,测试预估的结果。 、
计算机科学家唯一最重要的技能就是『解决问题』。
解决问题意味着要有能力把问题进行方程化,创造性地考虑解决思路,并且清晰又精确地表达出解决方案。而学习编程的过程,正 是一个培养这种解决问题能力的绝佳机会。
本章的标题是『编程之路』,原因就在此。 
在一定层面上,大家将通过编程本身来学习编程这一重要的技巧。
在另外一些层面上,大家也将把编程作为实现一种目的的途径。这一目的会随着我们逐渐学习而越发清楚。

1.1 程序是什么?
 

程序是一个指令的序列,来告诉机器如何进行一组运算。这种运算也许是数学上的,比如求 解一组等式或者求多项式的根;当然也可以是符号运算,比如在文档中搜索和替换文字,或 者一些图形化过程,比如处理图像或者播放一段视频。 
不同编程语言的具体细节看着很不一样,但几乎所有编程语言都会有一些基础指令: 

输入系统:
从键盘、文件、网络或者其他设备上获得数据。 

输出系统:
将数据在屏幕中显示,或者存到文件中、通过网络发送等等。 

数学运算:
进行基本的数学操作,比如加法或者乘法。 

条件判断:
检查特定条件是否满足来运行相应的代码。 

重复判断:
重复进行一些操作,通常会有些变化。 

大家刚开始接触编程的话,可能还有点难以置信,

核心内容仅仅上述这些而已。

你用过的所 有程序,无论多么复杂,都是由一些这样的指令组合而成的。
因此大家可以把编程的过程理解成一个把庞大复杂任务进行拆分来解决的过程,分解到适合使用上述的基本指令来解决为 止。

1.2 运行Python

新手在刚接触Python的时候遇到的困难之一就是必须在电脑上安装Python和相关的一些软 件。如果你熟悉操作系统,并且还很习惯用命令行接口,那安装Python对你来说就没啥问题 了。但对初学者来说,要求他们既要了解系统管理又要学习编程,就可能有些困难了。为了避免这种问题,我推荐大家
可以在开始的时候用浏览器来体验Python。
熟悉了之后,再安装Python到计算机上。有很多站点提供在线运行Python的功能。如果你已经用过并且有一定经验了,可以选择你喜 欢的。我推荐大家可以试试
PythonAnywhere
,对此的使用介绍可以在这个链接中找到。 

Python现在有两个主要的分支,
即Python2(目前已停止维护)和Python3
。如果你学过其中的一个,你会发现他们还挺相似的,而且转换起来也不算难。实际上对于初学者来说,他们只有很细微的差别而已。这本书是用Python3写的,但也会对Python2进行注解。 

Python的解释器是一个读取并执行Python代码的程序。根据你的系统环境,你可以点击图标 或者在命令行中输入python来运行解释器。它运行起来,你会看到类似这样的输出:

Python 

3.4.0 (default, Jun 19 2015, 14:20:21) 

[GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. 

>>> 

>>>

开头的三行包含了关于解释器和所在操作系统的信息,所以大家各自的情况可能有所不同。不过当你检查版本的时候,比如例子中的是3.4.0,使用3开头的,那就告诉你了,他运行的是 Python3。你肯定也能猜到,如果开头的是2那就是Python2咯。最后一行那个是提示符,告诉你解释器已经就绪了,你可以输入代码了。如果你输入一行代 码然后回车键,解释器就会显示结果了,如下所示:

>>> 1 + 1 

>>> 1 + 1 

2

现在你已经做好开始学习Python的准备了。现在我估计你应该已经知道怎么来启动Python解 释器和运行Python代码了。

1.3 第一个程序
 


统意义上,大家学一门新编程语言要写的第一个程序都被叫做『Hello,World!
』,因为这 第一个程序就用来显示这个词组『Hello,World!
』。

在Python中,是这样实现的:

>>> print('Hello, World!') 

>>> Hello, World!

这是一个打印语句的例子,虽然并没有往纸张上面进行实际的『打印』。
这个程序把结果显 示在屏幕上。
结果就是输出了这个词组『Hello,World!』 括号表明了print是一个函数。关于函数我们到第三章再讨论。在Python2中,打印的语句有一点点不一样:print不是一个函数,所以就不用有括号了。 

>>> print 'Hello, World!'

 >>> Hello, World!

这个区别以后会理解更深入,现在说这点就够了。

【END】本书完整内容,点击阅读原文下载吧。

推荐阅读:


Hive企业级调优


HiveQL查询连续三天有销售记录的店铺


HiveQL实战蚂蚁森林低碳用户排名分析:解法一


HiveQL实战蚂蚁森林低碳用户排名分析:解法二


HiveQL实战蚂蚁森林植物申领统计分析


Hive-函数


Hive-查询


Hive-DML(Data Manipulation Language)数据操作语言


Hive-DDL(Data Definition Language)数据定义


Hive优化(整理版)


Spark Core之Shuffle解析


数据仓库开发规范