数据类型

str字符串

我们来认识一下字符串,字符串英文string

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

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

在这组代码里,'世界'"HelloWorld!"都属于字符串类型

int整数

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

与C和Java不同的是,Python的整数没有长度限制,理论上,它可以趋近于∞。

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

1
print(666)

输出的结果就是666

我们已经知道了字符串有【引号】的保护,可以和符号及其他文字类数据,譬如中文、英文随意组合,而整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,会立马报错;如果你给整数加上了【引号】马甲的话,那么它的类型就会变成字符串(str)类,无法参与相关的运算。

float浮点数

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

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

1
2
3
x = 3.14
print(x)
print(4.5)

形如【4.5】【3.14】这样的数就是浮点数。

浮点数可能让你有点眩晕,这是因为,与【整数运算结果永远精确】的特点不同,计算机里浮点数的运算是不精确的,会有四舍五入的误差,意思就是说计算是由二进制0和1表示的,逢二进一,这也就造成了我们与程序计算结果的差异。

数据类型的强制转换

只需要用对应的数据类型包裹上需要转换的数据或变量即可。

1
2
a = 15
print(str(a))

需要注意的是,整数浮点数都可以转换成字符串,浮点数转换整数会有失精度,整数转换成浮点数会自动添加.0,全是数字的字符串理论上也可以转换成整数浮点数,但是有失精度。

image-20221114205524244