Python字符串和数字的转换

我们在上节教程中介绍了数字类型和字符串类型,如果想把数字和字符串连接在一起,会出现什么问题呢?例如,8 + " apples":

>>> 8+" apples"
Traceback (most recent call last): 
File "<pyshell#63>", line 1, in <module>   
8+" apples"
TypeError: unsupported operand type(s) for +: 'int' and 'str'

我们会看到,有错误提示出现。这是一个类型错误,因为在 Python 中,不能将不同数据类型的值连接到一起。所以,要想将不同的数据类型连接在一起,需要先进行数据类型转换。

str() 函数

str() 函数可以将非字符串值转换为字符串。还是用刚才的例子,我们通过 str(8) 将数字 8 转换为字符串 "8",然后就可以将它和后边的字符串连接了,如下所示。

>>> str(8)+" apples"
'8 apples'

int() 函数

int() 函数可以将非整数值表示为整数。假设我们要为班级中每位同学购买 3 个作业本,那么如果知道班级里学生的数量,就可以求出需要多少个作业本。我们可以通过 input() 函数,让用户输入班级学生的数量。

但是,我们知道,input() 函数总是返回一个字符串,即便用户输入的是数字。所以,我们还要通过 int() 函数,把输入的数值转换为整数,然后再进行数学运算,如下所示。

>>> studentNumber=input()
33
>>> studentNumber
'33'
>>> int(studentNumber)*3
99


int() 函数还可以把浮点数转换为整数,它会将小数点后边的内容全部忽略掉,如下所示。

>>> int(3.1415926)
3
>>> int(9.9)
9

float() 函数

float() 函数用于将整数和字符串转换成浮点数。如下所示:

>>> float(8)
8.0
>>> float("13")
13.0
>>> float("5")*8
40.0