python數據類型、數字類型、int、float、math ...
Python內置數據類型總結(數字類型)
數據類型是一種值的集合以及定義在這種值上的一組操作。一切語言的基礎都是數據結構,所以打好基礎對於後面的學習會有百利而無一害的作用。
python內置的常用數據類型有:數字、字元串、Bytes、列表、元組、字典、集合、布爾等
想想設置這麼多類型的原因是什麼?
1、在數據組織上方便統一管理,提供同樣的方法去調用。區分數據類型,也和人們日常對事物的分類認識一致,便於人們從具體的對象抽象出統一的模式去處理數據。方便同樣的數據用同樣的方式去處理,限制非法操作的行為,便於數據的控制。
2、對於數據在記憶體和磁碟上的存儲來說,節約了空間。假如不區分數據類型,所有的數據對象都必須按長度最大的數據對象去占用存儲空間,浪費嚴重。有了數據類型,就按照類型預先定義的空間大小去組織存儲,對於每種數據類型去合理分配大小,能提高空間使用率,以及存取速度和運行效率。
python的數據類型以是否可變,可分為可變類型和不可變類型,對於可變類型來說,操作一般涉及增、刪、改、查,對於不可變類型,一般的操作只有查。
不可變類型:數字、字元串、bytes、元組
可變類型:列表、字典、集合
數字類型
用於存儲數學上的值,比如整數、浮點數、複數等。數字類型在python中是不可變類型,意思是一個變數被賦予了一個不一樣的數值之後就不再是原來的記憶體指向了,python是基於值得記憶體管理機制。
1.整數(Int)
通常稱為整型,包括正數和負數,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
2.浮點數(float)
浮點數就是小數,例如1.23,1.0等,一般很大或很小的浮點數,用科學計數法表示,把10用e表示,例如:1.23*10^9可以表示為1.23e10.
3.複數(complex)
複數由實數部分和虛數部分構成,例如a+bj,或者complex(a,b)。很少用到。
4.數字類型轉換:
int(x):將x轉換為整數,如果x是浮點數,保留整數部分,int()中預設使用十進位,可以指定進位,將指定進位的數轉化為十進位數。例如常用的2/8/16這三種進位,例如:int("0b10", 2)將二進數0吧0轉化為十進位數輸出,結果為2。
float(x):將x轉化為浮點數
complex(x)或complex(x, y):很少用到
5.計算
除過+、-、*、/、**、//、%運算符之外,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, ...):返回最小值