上次我们的自学python开了个头,介绍了自学python1-输入,输出,变量,常量,本次我们继续来看下python的数据类型
在python中一个变量可以处理不同类型的值,称为数据类型,在Python中基本的数据类型有:整数、小数、字符串、布尔值
在Python中创建变量的时候,不需要明确指定变量的数据类型,就像之前介绍的,只需要“起个名字,给它个值”,Python会根据赋给变量的值来区分变量的数据类型。同时,因为变量的值是可变的,因此变量的数据类型也是变化的
name="Tony" # 字符串str类型
age=20 # 整数int类型
money=5145.45 # 小数float类型
flag = True # 布尔值类型
要查看某一个变量是什么类型,可以用函数type,将上面赋值的变量类型打印出来
print(type(name))
print(type(age))
print(type(money))
print(type(flag))
变量的数据类型根据存储数据的不同,可以任意改变,但当对一个特定类型的变量进行操作时,如果这个操作与它的数据类型不匹配,就会产生错误
比如说字符串和整数无法使用“+”计算,在这种情况下,我们需要将数据从一种类型转换成另外一种类型,使用数据类型转换函数int()、float()、str()、bool()
x = 10
y = "11"
print(x+y) # 不同类型相加会报错
# 正确的做法是先转换相同类型,再做相加
print(x+int(y))
print(str(x)+y)
如果是int类型相加,就是数学里面的加法计算,加减乘除同理
如果是str类型相加,就是字符串拼接
所以说在处理数据当变量类型不同的时候,常需要看看是不是需要变量类型的转换
使用数据类型转换函数也有一定的限制
- 任意整数、小数、布尔值都可以通过str()函数转换为字符串
- 不是所有的字符串都能转换成整数或小数
- 使用bool()函数进行数据类型转换,除了为0的数字、空字符串、空值None、空集合,其他的值都认为是True