在 Python 中,每个数据都有明确的类型。最常见的数据类型有:
str - 字符串
int - 整数
float - 浮点数,也就是小数
还有一些复合数据类型,比如:
list - 列表
dict - 字典
有些数据虽然“看起来”差不多,但如果类型不同,可以执行的操作也就不相同。
比如通过 input 获取到的输入一律是 str 字符串类型。
即使用户输入一个数字,比如 3,但程序拿到的是一个字符串 3,而不是数字 3,它和数字 1 不能直接进行加法运算,否则就会报错。
如果想要对获取到的数值进行数学运算,常用的解决办法就是做一次类型转换,让程序知道它是一个数字。
a = input()a = int(a)a = a + 1print(a)
一个冷知识:之前某知名小破站崩溃3小时,就是因为一个字符串 0 和数字 0 的误用。(lua语言不会对类型做强制检查,当 b 为字符 '0' 或者 nan 时程序都可以正常运行,但不会进入 if 返回,于是陷入死循环)
另外,也不是类型不同就一定不能放一起做计算,有些计算就是在特定的类型之间进行的。比如字符串和数字可以做乘法:
print('3' * 2)
33
联系客服