數據類型是一種值的集合以及定義在這種值上的一組操做。一切語言的基礎都是數據結構,因此打好基礎對於後面的學習會有百利而無一害的做用。
python內置的經常使用數據類型有:數字、字符串、Bytes、列表、元組、字典、集合、布爾等python
想一想設置這麼多類型的緣由是什麼?數據結構
一、在數據組織上方便統一管理,提供一樣的方法去調用。區分數據類型,也和人們平常對事物的分類認識一致,便於人們從具體的對象抽象出統一的模式去處理數據。方便一樣的數據用一樣的方式去處理,限制非法操做的行爲,便於數據的控制。
二、對於數據在內存和磁盤上的存儲來講,節約了空間。假如不區分數據類型,全部的數據對象都必須按長度最大的數據對象去佔用存儲空間,浪費嚴重。有了數據類型,就按照類型預先定義的空間大小去組織存儲,對於每種數據類型去合理分配大小,能提升空間使用率,以及存取速度和運行效率。函數
python的數據類型以是否可變,可分爲可變類型和不可變類型,對於可變類型來講,操做通常涉及增、刪、改、查,對於不可變類型,通常的操做只有查。學習
不可變類型:數字、字符串、bytes、元組spa
可變類型:列表、字典、集合對象
用於存儲數學上的值,好比整數、浮點數、複數等。數字類型在python中是不可變類型,意思是一個變量被賦予了一個不同的數值以後就再也不是原來的內存指向了,python是基於值得內存管理機制。內存
一般稱爲整型,包括正數和負數,python3不在長度上區分整數的類型了,就是再也不有長整型。
數字也有八進制和十六進制表示法:
十六進制:前綴0x和0-9,a-f表示,例如:0xff00
八進制:前綴0o和0-7表示,例如:0o17
Python的整數長度爲32位,一般是連續分配的內存空間。Python初始化時會自動創建一個小整數對象池,-5到256之間,方便調用,避免後期重複生成。
除了小整數對象池,Python還有整數緩衝區,就是剛被刪除的整數,不會當即被刪除回收,而是在後臺緩衝一段時間,等待下次可能的調用.字符串
例如: a = 3453453
print(id(a))---->內存編號33402576
del a #已經刪除
b = 3453453 #將3453453賦值給b
print(id(b))----->內存編號33402576數學
浮點數就是小數,例如1.23,1.0等,通常很大或很小的浮點數,用科學計數法表示,把10用e表示,例如:1.23*10^9能夠表示爲1.23e10.內存管理
複數由實數部分和虛數部分構成,例如a+bj,或者complex(a,b)。不多用到。
int(x):將x轉換爲整數,若是x是浮點數,保留整數部分,int()中默認使用十進制,能夠指定進制,將指定進制的數轉化爲十進制數。例如經常使用的2/8/16這三種進制,例如:int("0b10", 2)將二進數0吧0轉化爲十進制數輸出,結果爲2。
float(x):將x轉化爲浮點數
complex(x)或complex(x, y):不多用到
除過+、-、*、/、**、//、%運算符以外,python還提供科學計算等庫,例如math,導入math庫後,經常使用的函數有: abs(x):返回x的絕對值,類型隨x fabs(x):返回x的絕對值,類型是浮點數 ceil(x):取x的上入整數,如math.ceil(4.1)返回5 floor(x):取x的下入整數,如math.floor(4.9)返回4 round(x [,n]):默認返回浮點數x的四捨五入值,如給出n值,則表明舍入到小數點後的n位。例如round(1.23456, 3)返回1.235 exp(x):返回e的x次冪,e是天然常數 sqrt(x):返回x的平方根,返回值是float類型 modf(x):返回x的整數部分和小數部分,兩部分的符號與x相同,整數部分以浮點型表示。例如math.modf(4.333),返回元組(0.3330000000000002, 4.0) log10(x):返回以10爲基數的x的對數,返回值類型是浮點數 log(x,y):返回以y爲基數的x的對數,返回值類型是浮點數 pow(x, y):返回x的y次冪,即x**y max(n1, n2, ...):返回最大值 min(n1, n2, ...):返回最小值