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格式的数字
原文地址:https://www.cnblogs.com/zhouyi0316/p/9439785.html