python全栈脱产第6天------元组(tuple)类型、字典(dict)类型、集合(set)类型
一、元组(tuple)类型
用途:记录多个值,而且多个值没有改变的需求
定义方式:在()内用逗号分隔开多个任意类型的值
常用操作和内置方法:1.按索引取值(正向取,反向取):只能取
2.切片(顾头不顾尾,步长)
3.长度 len()
4.成员运算not in 和in
5.循环 for
6.需要掌握的操作:count()计算该值出现了几次;index()返回该值的索引;
总结:1.存多个值 2.有序 3.不可变
二、字典(dict)类型
用途:记录多个值,每一个值都对应的key用来描述value的作用
定义方式:在{}内逗号分隔开多个key:value,其中value可以是任意类型,而key必须是不可变类型,通常是str类型
用法一:dic=dic(x=1,y=2,z=3)
用法二:
userinfo=[
['name','egon'],
['age',18],
['sex','male']
]
d={}
for k,v in userinfo: #k,v=['name', 'egon']
# print(k,v)
d[k]=v
print(d)
常用操作和内置的方法:1.按key存取值:可存可取
2.长度len
3.成员运算in和not in:字典的成员运算判断的是key
4.删除:del全部删除;pop删除指定的key对应的value
5.键key()、值value()、键值对items()
6.循环for
7.dic.get()取指定key的value值,若不存在则返回None,若存在则返回value值
8.fromkeys()第一个参数传入key,第二个参数传入对应的value值
9.setdefault()第一个参数传入key,第二个参数传入value值,若key值已经存在,则不变,返回对应key的value值,若不存在,则添加,返回新值
总结:1.存多个值 2.无序 3.可变
三、集合(set)类型
用途:关系运算、去重
定义方式:在{}内用逗号分开多个值
特性:1.每一个值都必须是不可变类型
2.元素不能重复
3.集合内元素无序
常用操作和内置方法:1.交集:两集合重复的元素的集合 intersection() 符号&
2.并集:两个集合所有元素的集合 union() 符号|
3.差集:一个集合去除另一个集合与自身重复的元素的集合 difference() 符号-
4.对称差集:两个元素去除重复的元素的集合 symmetric_difference() 符号^
5.父集:一个集合是否包含另一个集合 issuperset()
6.子集:一个集合是否被另一个集合包含 issubset()
7.updata()更新:增加元素
8.pop():取出一个指定的元素
9.remove():单纯删除一个值,返回值为None,元素不存在则报错
10.discard():单纯删除一个值,返回值为None,元素不存在不会报错
11.isdisjoint():如果两个集合没有交集的话则返回True
总结:1.存多个值 2.无序 3.set可变
集合去重:局限性:1.无法保证数据类型的顺序 2.当某一个数据中包含多个值为不可变类型是才能集合去重
四、字符编码
1 储备知识点1
运行程序的三大核心硬件
cpu
内存
硬盘
运行一个程序:
代码由硬盘读入内存,cpu从内存中读取指令执行
强调:程序运行过程中产生的数据一定是最先存放于内存中的
2 储备知识点2
运行python程序的三个阶段:python test.py
1、先启动python解释器
2、将test.py的内容当作普通字符读入内存
3、python解释器解释执行读入内存的代码,识别python的语法
python解释器运行程序的前两个阶段跟文本编辑器一模一样
只有第三个阶段不同
3 字符编码
人操作计算机使用人类认识的字符,而计算机存放都是二进制数字
所以人在往计算机里输入内容的时候,必然发生:
人类的字符------(字符编码表)--------》数字
ASCII: 用(8位bit二进制数)1Bytes对应一个英文字符
8bit= 1Bytes
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
GBK:用2Bytes对应一个中文字符,1Bytes对应一个英文字符
unicode:用2Bytes对应一个字符
必须满足两大特点:
1、能够兼容万国字符
2、与老字符编码都有一种数字与数字的对应关系
a 1111 0111
a 0000 0000 1111 0111
utf-8:Unicode Transformation Format
一个中文字符:3bytes
一个英文字符:1bytes
强调:
unicode格式的数字--------encode编码---------》utf-8格式的数字
unicode格式的数字《--------decode解码《---------utf-8格式的数字