Python的数据类型分为数值型和字符型
数值型:
- 整数:整数的类型用int来表示。python可以处理任意大小的整数,当然可以包括负整数。
比如:

字符串整数可以通过int()强转成整数类型。
比如:
也可以用int()将浮点数强转为整数,强转是不四舍五入的
比如:

如果要将字符型的浮点数强转成整数需要先用float()把这个字符串强转成浮点数,在用int()强转成整数
比如:

- 浮点数:
浮点数也就是小数,类型用float来表示。
比如:

注:整数和浮点数在计算机内部的存储方式是不同的,整数的计算是永远精确的(包括除法),而浮点数运算则可能出现误差
比如:

可以看到浮动运算会有一定的误差,在使用的时候我们一般先将浮点数成10的N次方,将它变成整数,然后进行运算,再除以10的N次方,这样可以保证数据的准确性。
- 布尔型:
布尔值的类型用bool来表示
比如:

布尔的值只有两个:Ture和False
注:
所以数据都自带布尔值
True是数值1;False是数值0,空字符串,None,空列表、空元组、空字典也都当False处理。(所以布尔型也属于数值型)
字符型:
- 字符串常用单引号,双引号或者三引号括起来。类型用str来表示。
单引号或者双引号,可以用转义字符来标识,三引号可以直接写多行,
这样回车换行的话前面就变成三个点,最后用三引号结束就可以了
比如:

- 常用的转义字符:\n表示换行,\t表示制表符,\\表示\
如果不想用转义字符,可以用r''这种方式来写,这样内部的内容就不需要转义了

- 字符型有一个特性是一旦创建就不可改变。
举个例子:当你创建了一个字符串变量a,然后给它赋值为ABC,python解释器就会创建一个a变量,然后再创建一个空间存储ABC,再让a变量指向这个空间的地址。当你改变一个字符串的时候,它就会再开辟一个空间来存储这些字符 串内容,然后让a变量指向新的字符串空间地址
例如:
a = "地址一" print(id(a)) # 2907158346448 a += "二" print(a) # 地址一二 print(id(a)) # 2907157753504
- 字符串可以通过下标取值,但是不可以修改,否则会报错
由于python的字符串类型是str,在内存中是用Unicode码表示的,一个字符对应若干个字节,如果要在网上传输或者保存到硬盘上,就需要将str变成以字节为单位的bytes,python对bytes类型的数据用带b的前缀的单引号,或者双引号表示。
可以通过:字符串.encode("编码格式")转换成对应的编码表示
可以通过:字符串.decode("编码格式")将编码转换为对应的字符串
列表:
列表是一种用中括号([])包裹起来的有序集合,用list来表示,它可以存储任意的类型的数据。
列表在内存中的表现是链表形式存储,即每个元素存储的地方可以能连续,每个元素的后面都会存放一个内存地址来找到下一个元素的位置。
所以列表元素是可以被修改的,可以通过下标来获取元素,取最后一个可以用-1。如果超过下标的值会报错。
列表方法:
# append() 将参数作为元素添加到列表中去 a = [1, 2] a.append([3, 4]) print(a) # [1, 2, [3, 4]]
# extend() 将参数列表逐个添加到列表中去 a = [1, 2] a.extend([3, 4]) print(a) # [1, 2, 3, 4]
# insert(index, object) 在指定位置index前插入元素object a = [1, 2, 3, 4] a.insert(1, [3, 4]) print(a) # [1, [3, 4], 2, 3, 4]
# 修改元素有两个方法,一个是通过下标,一个是通过切片(切片是左闭右开区间) a = [1, 2, 3, 4] # 方式一:下标修改 a[1] = "中" print(a) # [1, '中', 3, 4] # 方式二:切片修改,也可以实现删除 a[2:3] = ["天", "下", "大", "同"] # [1, '中', '天', '下', '大', '同', 4] print(a) a[2:3] = [] print(a) # [1, '中', '下', '大', '同', 4]
# a.index(x,begin,.end) # 在a中的begin和end之间,查找字符x的下标,没有会报错 a = [1, 2, 3] print(a.index(2)) # 1
列表.count(x, begin, end) # 查询x在列表中的个数 del 列表[下标值] # 根据下标进行删除 列表.pop() # 删除最后一个元素,也可以针对指定的下标删除,会返回删除的内容 列表.remove(元素) # 将指定的元素从列表中删除 列表.sort(reverse=True) # sort方法是将列表按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。 列表.reverse() # reverse方法是将list逆置。]
元组:
元组和列表类似,也是一种有序的,可以存储任意类型数据的容器,它使用括号(())包裹,用tuple来表
需要注意的是:元组一旦初始化就不可以修改。或者说它的第一层不可以改变,但它的元素中如果包括容器,那个容器里面的内容就可以修改。
比如:
a = (1, 2, 3, [4, 5]) a[3][1] = 9 print(a) # (1, 2, 3, [4, 9])
注:元组在使用的时候,很容易和方法混淆,所以在最后一个元素的后面一般加一个逗号,这样也不报错,建议加上,
查的方式和列表一样,只是记住不可以删除
集合:
集合表示为set,很类似list列表,但它是不同元素(必须是不可变类型)组成的,无序的容器,它使用花括号({})包裹,set和字典类似,也是一组key的集合,但是不存储value,由于key不能重复,所以,在集合中没有重复的key。
比如:

集合常用方法:
字典:
字典表示为dict,使用键值对的形式来存储数据的,使用的时候用花括号({})来对这些键值对进行封装,而且内部也是无序存储的。相对于list来说,字典的查询速度快,不会随着key的增加而变慢,但是需要大量的内存。这个通过key计算位置的算法被称为哈希算法。
如下:

注:键可以使用:元组,数字,字符串,如果是布尔值,会忽略,如果是字典或者列表,会直接报错。
如果键重复,只保留最后一个

浙公网安备 33010602011771号