六种数据类型
数据类型的种类:
1.数字类型Number(int,float,bool,complex)
2.字符串类型str
3.列表类型list
4.元组类型tuple
5.集合类型set
6.字典类型dict
1. 数字类型Number(int,float,bool,complex)
1.1 整型 int
1.2 浮点型 float
两种表示方法:
(1)实用小数点表示
floatvar = 4.88
print(floatvar)
print(type(floatvar))
(2)使用科学记数法
floatvar = 6.7e4
print(floatvar)
print(type(floatvar))
1.3 布尔型 bool
只有True(真)和False(假)两个值
1.4 复数类型 complex
complex 实数 + 虚数
例如,3 + 4j
3:实数
4j:虚数
j:如果有一个数,它的平方等于-1,那么这个数就是j,表示的是高精度的类型
# 表达方式一
complexvar = 56 - 3j
complexvar = -3j
print(complexvar)
print(type(complexvar))
# 表达方式二
# 语法:complex(实数, 虚数)
complexvar = complex(56, -3)
print(complexvar)
print(type(complexvar))
2. 字符串类型 str
被引号引起来的就是字符串
2.1 转义字符
转义字符: \ + 某个字符
(1) 将有意义的字符变得无意义
(2) 将无意义的字符变得有意义
\n, \r\n :换行
\t :tab缩进(水平制表符)[一般来说,一个缩进是4个空格的距离]
\r :将后面的字符直接拉到当前行行首
# 将无意义的字符变得有意义
strvar = "文哥是这个世界上,\n我认为最帅的男人"
strvar = "文哥是这个世界上,\r\n我认为最帅的男人"
strvar = "文哥是这个世界上,我认\t为最 帅的男人"
strvar = "文哥是这个世界上,\r我认为最帅的男人"
strvar = "文哥是这个世界上,\n我认为\r最帅的男人"
# 将有意义的字符变得无意义
strvar = "文哥是这个世界上,浑身冒\"金光\"的男人"
print(strvar)
print(type(strvar))
2.2 元字符
strvar = r"E:\nython\tay2" print(strvar)
2.3 格式化字符串
语法:"字符串" % (值1,值2,值3)
%d:整型占位符
%f:浮点型占位符
%s:字符串占位符
# %d 整型占位符
strvar = "张三学习容易走神,买了%d个风油精,提神醒脑" % (5)
print(strvar)
# %2d 占两位 原字符串默认居右
strvar = "李四今天%d岁" % (3)
print(strvar)
strvar = "李四今天%2d岁" % (3)
print(strvar)
# %-2d 占两位 原字符串默认居左
strvar = "李四今天%-2d岁" % (3)
print(strvar)
# %f 浮点型占位符
strvar = "王五一个月开了%f工资" % (9.9)
print(strvar)
# %.2f 小数点保留2位
strvar = "王五一个月开了%.2f工资" % (9.9)
print(strvar)
# %f 存在四舍五入的情况
strvar = "王五一个月开了%.1f工资" % (9.87654321)
print(strvar)
# %s 字符串占位符
strvar = "%s" % ("python31的同学们都有祖安人民的特质")
print(strvar)
# 综合案例
strvar = "%s看好了一辆车,特斯拉model x,买了%d辆,花了%.1f元" % ("赵六", 10, 9.9)
print(strvar)
# 可以全部使用%s占位符进行取代
strvar = "%s看好了一辆车,特斯拉model x,买了%s辆,花了%s元" % ("赵六", 10, 9.9)
print(strvar)
3. 列表类型 list
特点:可获取,可修改,有序
3.1 获取列表的值
# 定义一个空列表
listvar = []
print(listvar, type(listvar))
# 定义一个普通列表
# 正向下标索引 0 1 2 3 4
listvar = [100, 19.123, True, 1+12j, "马胜平"]
# 逆向下标索引 -5 -4 -3 -2 -1
print(listvar)
# 获取列表当中的值
res = listvar[2]
res = listvar[-3]
print(res)
# 获取列表当中的最后一个值
# python特有
print(listvar[-1])
# 通用写法
'''
len 获取容器类型数据的长度(元素的总个数)
'''
res = len(listvar)
print(res)
res = listvar[res - 1]
print(res)
# 简写
print(listvar[len(listvar) - 1])
3.2 修改列表的值
# 修改列表里面的元素
listvar[-3] = False
print(listvar)
4. 元组类型 tuple
特点:可获取,不可修改,有序
4.1 获取元组中的元素
# 定义一个普通元组
# 正向下标索引 0 1 2 3
tuplevar = ("明浩", "徐彦伟", "李志辉", "马春培")
# 逆向下标索引 -4 -3 -2 -1
# 1.获取元组当中的元素
res = tuplevar[1]
res = tuplevar[-1]
print(res)
4.2 元组元素不可修改
4.3 判定元组的类型
逗号才是区分是否是元组的标识符
tuplevar = (123,) tuplevar = 123, print(tuplevar, type(tuplevar))
5. 集合类型 set
作用:集合之间的交差并补
特点:无序,自动去重
5.1 定义一个集合
setvar = {'金城武', '喻文波', '王俊凯', '王文'}
print(setvar, type(setvar))
5.2 集合无序
不能获取集合中的元素
不能修改集合中的元素
5.3 自动去重
setvar = {'金城武', '王俊凯', '喻文波', '王文', '王文', '王文', '王文'}
print(setvar)
5.4 定义一个空集合
# setvar = {}
setvar = set()
print(setvar, type(setvar))
6. 字典类型 dict
6.1 获取字典的值
# 定义一个空字典
dictvar = {}
print(dictvar, type(dictvar))
# 定义一个普通字典
dictvar = {"智多星": "吴用", "花和尚": "鲁智深", "浪里白条": "张顺", "回首掏": "大司马"}
# 获取字典中的值
res = dictvar["回首掏"]
print(res)
6.2 修改字典的值
dictvar = {"智多星": "吴用", "花和尚": "鲁智深", "浪里白条": "张顺", "回首掏": "大司马"}
dictvar['回首掏'] = '宋云杰'
print(dictvar)
6.7 字典的键 和 集合中的值 对数据类型的要求
字典的键 和 集合中的值 数据类型的要求必须是如下几种:
如下类型可以:不可变数据(可哈希的数据类型)
Number(int, float, bool, complex), str, tuple
不允许的类型:可变数据(不可哈希的数据类型)
list, set, dict
但凡提到哈希算法(hash),都是典型的无序特征
目的:为了更加均匀的把数据分配到内存中,底层用的算法类似于取模
python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法
但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序
所以看起来有序,实际上无序

浙公网安备 33010602011771号