Python中的数据类型有非常多,具体如下:
整数类型 int 如 520
浮点数类型 float 如 3.14159
布尔数值 bool 如True 和 False
字符串类型 str 如"你是啊"
1.整数类型(integer,简称int,可以表示正负数和零)
整数类型可以由以下几种不同的进制表达:
①十进制——默认的进制方式
② 二进制——以0b开头
③八进制——以0o开头
④十六进制——以0x开头
举例:
a = 155
print(a, type(a))
print("十进制", 175)
print("二进制", 10101111)
print("二进制", 0b10101111)
print("八进制", 0o17444)
print("十六进制", 0x18a86)
2.浮点类型
在python中,无单精度和双精度之分,只有一种浮点数类型float
b = 3.14159
print(b, type(b))
但值得注意的是,因为计算机使用的是二进制存储,在对浮点数进行计算时可能出现偏差,如对于如下代码:
b1 = 2.2
b2 = 1.1
b3 = 1.3
print(b1 + b2)
print(b1 + b3)
输出的结果为:
3.3000000000000003
3.5
我们发现,在b1+b2得到的并不是我们想要的结果,所以这里,我们可以使用decimal库对其进行计算,这里就不多深入讲解:
from decimal import Decimal
print(Decimal("1.1") + Decimal("2.2"))
输出结果为:
3.3
3.布尔类型(Boolean)
在Python中,布尔类型即True和Flase两种布尔值,True表示真,若将其转换成数字,则True等价于1;同理,False表示假,等价于0。但要注意的是,布尔值的字母要严格区分大小写。另外,布尔值是可以直接转换成整数进行计算的,如:
print(True + 1)
print(False + 0)
输出结果为:
1
0
4.字符串类型(String)
字符串或串是由数字、字母、下划线组成的一串字符,如"abcd","超市","12345",这种定义在单双或三引号下的一串字符,如:
print("haha")
print("""我
hehe""")
同时,在此处可以看出,三引号是能换行输出的,而单双引号不行。
5.类型转换
在讲类型转换之前,我们来先看一个实例:
name = "张三"
age = 18
print("我叫" + name)
print("我叫" + name + "今年" + age + "岁")
上述代码的输出结果应该是什么?
我叫张三
Traceback (most recent call last):
File "Test.py", line 4, in <module>
print("我叫"+name+"今年"+age+"岁")
TypeError: can only concatenate str (not "int") to str
我们发现,对于后面的语句,发生了报错,错误原因指出:不同的类型不能直接连接,而对于print("我叫" + name)来说,"我叫" 和 name都是str类型数据,所以可以直接连接,而age与"今年"h和"岁"类型不同,不能直接连接,所以为了解决这个问题,我们就可以对age这个类型为int的数据进行类型转换,将其转换成str类型:
print("我叫" + name + ",今年" + str(age) + "岁")
总结的来说,转换函数主要有下面几个:
str() | 将其他数据转换成字符串类型 |
int() | 将其他数据转换成整数类型 |
float() | 将其他数据转换成浮点数类型 |
在这里可能很多同学发现,为什么没有转换成布尔类型的函数,在我们上面也说了,布尔类型其实就是整型的一种表示,所以布尔类型是可以直接当做整型使用的。
如:
a = False
print(a + 1)
print(str(a) + str(1))
最后的输出结果为:
1
False1