Python的基本数据类型与强制转换
数据类型
str字符串
我们来认识一下字符串,字符串英文string。
字符串,顾名思义,就是由一个个字符串起来的组合,字符可以是一个数字、一个字母、一个文字,甚至是一个符号。字符串可以表达现实世界里的词、语句、表达式等。
字符串的识别方式非常简单——有层名为【引号】的皮,只要是被【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。
在这组代码里,'世界'
、"HelloWorld!"
都属于字符串类型
int整数
这就是我们要介绍的,常见数据类型中的第二种:整数,整数英文为integer,简写做int。Python世界的整数其实和现实世界数学中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
与C和Java不同的是,Python的整数没有长度限制,理论上,它可以趋近于∞。
整数其实是一个不带小数点的数字,可以不穿名为引号的马甲,直接跟print()函数组团搞输出,比如下列代码:
1 | print(666) |
输出的结果就是666
我们已经知道了字符串有【引号】的保护,可以和符号及其他文字类数据,譬如中文、英文随意组合,而整数脱掉了【引号】马甲,只能『单独行动』。一旦碰上符号及其他文字类数据,譬如中文、英文,会立马报错;如果你给整数加上了【引号】马甲的话,那么它的类型就会变成字符串(str)类,无法参与相关的运算。
float浮点数
浮点数的英文名是float,与**整数(int)和字符串(str)**不同,浮点数没有简写。
浮点数非常好识别,它比整数多了一个小数点『.』,比如下列代码中的数字都是浮点数:
1 | x = 3.14 |
形如【4.5】【3.14】这样的数就是浮点数。
浮点数可能让你有点眩晕,这是因为,与【整数运算结果永远精确】的特点不同,计算机里浮点数的运算是不精确的,会有四舍五入的误差,意思就是说计算是由二进制0和1表示的,逢二进一,这也就造成了我们与程序计算结果的差异。
数据类型的强制转换
只需要用对应的数据类型包裹上需要转换的数据或变量即可。
1 | a = 15 |
需要注意的是,整数和浮点数都可以转换成字符串,浮点数转换整数会有失精度,整数转换成浮点数会自动添加.0
,全是数字的字符串理论上也可以转换成整数或浮点数,但是有失精度。