Python學習筆記(三)資料型別--Number型別
Number型別
數值型別,通常用於儲存數值,是最常用的變數型別;
Python中的數值型別包括如下種類:Integer
、Long integer
、Boolean
、Double-precision floating
、Complex number
。
Integer整型
相當於C中的long
;
- 2^31
~2^31 - 1
,即-2 147 483 648
~2 147 483 627
64 位機器,整型位寬為 64 Bit:- 2^63
~2^63 - 1
,即-9 223 372 036 854 775 808
~9 223 372 036 854 775 807
a = 12#正整數 b = -405#負整數 c = 0x3A#十六進位制表示的正整數
Long integer長整型(#3.x版本已經取消long型別並重命名為int)
數值後面以l
或L
(大小寫L,勿與數字1
混淆)結尾。
長整型沒有指定位寬,Python沒有限制長整型數值的大小,但在實際開發中,機器的記憶體有限,因此也不存在無限大的長整型整數
a = 3897987L b = -524327987l c = 0xA32B9DDL
Boolean布林型
判斷使用,只有兩個值True
和False
a = False b = True
Double-precision floating雙精度浮點型
可以用直接的十進位制或者科學計數法表示,每個浮點數佔 8 個位元組。
浮點數值通常都有一個小數點和一個可選的字尾e
(大小寫皆可)。
在e
和指數之間可以使用正(+
)或負(-
)表示指數正負。
a = 1.32425 b = -40. c = 3e8
Complex number 複數型別
可以指不實的數值或者並非表明具體數量的數字。
複數有實數部分和虛數部分構成,虛數部分必須有後綴j
或J
。
a = 98.234 + 3J b = 0 - 23.4j
操作符
算術操作符——只記錄了與其他語言不同的定義
操作符 | 含義 |
---|---|
A/B | 除法:B不能為0;整數相除仍為整數 |
A//B | 取整除:結果為A除以B後的結果的整數部分 |
A**B | 冪次操作:A的B次方 |
not A | 取反操作:只能用於Boolean型別 |
>>> 5 / 2 2 >>> 5.0 / 2 2.5 >>> 5.2 // 2 2 >>> 2 ** 3 8 >>> not True False
位元操作符
操作符 | 含義 |
---|---|
~A |
按二進位制取反;按照補碼規則,結果為-(A+1)
|
A&B |
並操作:只有兩個位元位都為1
時才設1
,否則為0
|
A|B |
或操作:只要兩個位元位有一個為1
時就設1
,否則設0
|
A^B |
異或操作:兩個位元位相同時,結果設1
,否則設0
|
A>>B | A按位元位右移B位 |
A<<B | A按位元位左移B位 |
>>> ~ 30 -31 >>> 3 & 3 3 >>> 3 & 1 1 >>> 3 ^ 1 2 >>> 3 << 1 6
內建函式
通用函式
>>> cmp( 43 , 12.34)#比較大小:前者小返回-1,後者小返回1,相等返回0 -1 >>> cmp( 0 , -2) 1 >>> cmp(0x12 , 18) 0 >>> str( 0x20 )#將引數轉換為字串型別並輸出 32 >>> type( 4L )#3.x版本已經取消long型別並重命名為int <type 'long'> >>> type( 45 + 8j ) <type 'complex'>
數值型別特定函式
>>> abs( -3 ) 3 >>> coerce( 24 , -4.5 )#3.0已經取消coerce的用法 (24.0 , -4.5) >>> divmod( 5 , 2 )#除模操作:生成一個元組,形式為(A/B , A%B) ( 2 , 1 ) >>> round( 5.7 )#返回引數四捨五入的結果 6 >>> hex( 10 )#將元素轉換為十六進位制表示的字串(oct()八進位制) '0xA' >>> chr( 0x32 )#將元素轉換為ASCII字元,括號內元素0~255之間 '2' >>> pow( 10 , 2 )#冪運算:A的B次方 100
Sequence型別簇
除了基本的數值型別,Python中的序列型別簇在Python程式設計中的地位十分重要。Python中的字串(String
)、元組(Tuple
)、列表(List
)都屬於序列型別簇。
- 字串 :由字元組成的序列型別
- 元組 :任意物件組成的不可修改 序列型別
- 列表 :任意物件組成的可修改 序列型別