凯文.凯利以预测科技发展趋势而出名,在90年代里,他曾在他的著作《失控》中提及了云计算、物联网、虚拟现实等概念。他预言人类的未来是镜像世界。

python世界可以看作部分现实世界的【镜像】,部分现实世界的东西、概念都可在python世界里找到对应:

数据类型

Python里,最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)。

字符串

字符串英文string,简写str

字符串的识别方式非常简单——有层名为【引号】的皮,只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。

在这组代码里,【’千寻’】、【”Let’s play”】都属于字符串类型。

字符串,顾名思义,就是由一个个字符串起来的组合,字符可以是一个数字、一个字母、一个文字,甚至是一个符号。字符串可以表达现实世界里的词、语句、表达式等。

整数

有的时候,某些数据它脱了【引号】的马甲,也照样能打印出来。例如在上一关我们见过的【print(520)】。

这就是我们要介绍的,常见数据类型中的第二种:整数整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。

整数其实是一个不带小数点的数字,可以不穿名为引号的马甲,直接跟print()函数组团搞输出,比如下列代码:

我们已经知道了字符串有【引号】的保护,可以和符号及其他文字类数据,譬如中文、英文随意组合。

整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,立马被报错秒杀。

比如像这样:

浮点数

浮点数非常好识别,它比整数多了一个小数点『.』,比如下列代码中的数字都是浮点数

浮点数的英文名是float,与整数(int)字符串(str)不同,浮点数没有简写。

浮点数可能让你有点眩晕,这是因为,与【整数运算结果永远精确】的特点不同,计算机里浮点数的运算是不精确的,会有四舍五入的误差。

Python计算浮点数时,会先把0.550.3转化成二进制数【注:二进制数由0和1表示,逢二进一】,如下:

而在这个转化过程中存在误差,这样,就造成了我们与程序计算结果的差异。

然后,这俩二进制数通过二进制法则运算后,再通过复杂的计算公式,将二进制结果转成十进制小数。

总结: