1 什么是数据?html
x=10,10是咱们要存储的数据ide
2 为什么数据要分不一样的类型学习
数据是用来表示状态的,不一样的状态就应该用不一样的类型的数据去表示编码
3 数据类型spa
数字(×××,长×××,浮点型,复数)orm
字符串htm
字节串:在介绍字符编码时介绍字节bytes类型blog
列表索引
元组字符串
字典
集合
4 按照如下几个点展开数据类型的学习
#一:基本使用1 用途2 定义方式3 经常使用操做+内置的方法#二:该类型总结1 存一个值or存多个值 只能存一个值 能够存多个值,值均可以是什么类型2 有序or无序3 可变or不可变 !!!可变:值变,id不变。可变==不可hash !!!不可变:值变,id就变。不可变==可hash
整型与浮点型
#整型int 做用:年纪,等级,×××号,qq号等整型数字相关 定义: age=10 #本质age=int(10)#浮点型float 做用:薪资,身高,体重,体质参数等浮点数相关 salary=3000.3 #本质salary=float(3000.3)#二进制,十进制,八进制,十六进制
name=按索引取值(正向取+
my_girl_friends=[,,,4,5] =list(按索引存取值(正向存取+
#ps:反向步长 l=[1,2,3,4,5,6] #正向步长 l[0:3:1] #[1, 2, 3] #反向步长 l[2::-1] #[3, 2, 1] #列表翻转 l[::-1] #[6, 5, 4, 3, 2, 1]
#做用:存多个值,对比列表来讲,元组不可变(是能够当作字典的key的),主要是用来读#定义:与列表类型比,只不过[]换成()age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))#优先掌握的操做:按索引取值(正向取+反向取):只能取 切片(顾头不顾尾,步长) 长度 成员运算in和not in 循环
#做用:存多个值,key-value存取,取值速度快#定义:key必须是不可变类型,value能够是任意类型info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....})或 info=dict(name='egon',age=18,sex='male') 或 info=dict([['name','egon'],('age',18)]) 或 {}.fromkeys(('name','age','sex'),None)#优先掌握的操做:按key存取值:可存可取 长度len 成员运算in和not in 删除 键keys(),值values(),键值对items() 循环
#做用:去重,关系运算,#定义: 知识点回顾 可变类型是不可hash类型 不可变类型是可hash类型#定义集合: 集合:能够包含多个元素,用逗号分割, 集合的元素遵循三个原则: 1:每一个元素必须是不可变类型(可hash,可做为字典的key) 2:没有重复的元素 3:无序 注意集合的目的是将不一样的值存放到一块儿,不一样的集合间用来作关系运算,无需纠结于集合中单个值 #优先掌握的操做:长度len 成员运算in和not in|合集&交集-差集^对称差集== >,>= ,<,<= 父集,子集
按存储空间的占用分(从低到高)
数字 字符串 集合:无序,即无序存索引相关信息 元组:有序,须要存索引相关信息,不可变 列表:有序,须要存索引相关信息,可变,须要处理数据的增删改 字典:无序,须要存key与value映射的相关信息,可变,须要处理数据的增删改
按存值个数区分
标量/原子类型 | 数字,字符串 |
容器类型 | 列表,元组,字典 |
按可变不可变区分
可变 | 列表,字典 |
不可变 | 数字,字符串,元组 |
按访问顺序区分
直接访问 | 数字 |
顺序访问(序列类型) | 字符串,列表,元组 |
key值访问(映射类型) | 字典 |
#身份运算(is ,is not)is比较的是id,而双等号比较的是值 毫无疑问,id若相同则值确定相同,而值相同id则不必定相同>>> x=1234567890 >>> y=1234567890 >>> x == y True>>> id(x),id(y) (3581040, 31550448)>>> x is y False