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