python 數據類型之數字
一、數字類型
Python 支持多種數字類型,包括:整型、長整型、布爾型、雙精度浮點型、十進制浮點型、 復數。
1、整型:最通用的數字類型,在32位機上,範圍 -2147483648 — 2147483647 (即 -231 — 231-1 )
2、布爾型:只有兩個取值,True 和 False
3、長整型: 用大寫字母 "L” 表示 (整型和長整形統一,當數值大寫超出整型的範圍時,不再溢出,而是自動轉化為長整形)
4、雙精度: 類似C中的double,可以十進制或者科學計數法表示, 如:3.14, 4.2E-10
5、復數:復數對象擁有數據屬性,分別為該復數額度實部和虛部
二、運算符及其類型轉換
運算符: 加 + 減 - 乘 * 除 / 取余 % 乘方 ** 取反 ~ 按位與 & 按位或 | 異或 ^ 左移 << 右移 >>
轉換規則:
如果有一個操作數是復數, 另一個操作數被轉換為復數。
否則,如果有一個操作數是浮點數, 另一個操作數被轉換為浮點數。
否則, 如果有一個操作數是長整數,則另一個操作數被轉換為長整數;
否則,兩者必然都是普通整數,無須類型轉換。
三、內置/工廠函數
轉換函數:int()、long()、 float() 、complex()、bool()
功能函數:
abs(num) 返回 num 的絕對值
coerce(num1, num2) 將 num1 和 num2 轉換為同一類型,然後以一個元組的形式返回。
divmod(num1, num2) 除法-取余運算的結合。返回一個元組 (num1/num2,num1 %num2) 。對浮點數和復數的商進行下舍入(復數僅取實 數部分的商)
pow(num1, num2, mod=1) 取 num1 的 num2 次方,如果提供 mod 參數,則計算結果再對 mod 進行取余運算
round(flt, ndig=0) 接受一個浮點數 flt 並對其四舍五入,保存 ndig 位小數。若不提供 ndig 參數,則默認小數點後 0 位。
hex(num) 將數字轉換成十六進制數並以字符串形式返回
oct(num) 將數字轉換成八進制數並以字符串形式返回
chr(num) 將 ASCII 值的數字轉換成 ASCII 字符,範圍只能是 0 <= num <= 255
ord(chr) 接受一個 ASCII 或 Unicode 字符(長度為1的字符串),返回相應的ASCII或Unicode 值。
unichr(num) 接受 Unicode 碼值,返回 其對應的 Unicode 字符。所接受的碼值範圍依賴於你的 Python 是構建於 UCS‐2 還是 UCS‐4 。
四、相關模塊
decimal 十進制浮點運算類 Decimal
array 高效數值數組(字符,整數,浮點數等等)
math/cmath 標準 C 庫數學運算函數。常規數學運算在 match 模塊,復數運算在 cmath 模塊
operator 數字運算符的函數實現。比如 tor.sub(m,n) 等價
五、核心模塊:random
當你的程序需要隨機數功能時,random 模塊就能派上用場。該模塊包含多個偽隨機數發生器,它們均以當前的時間戳為隨機數種子。這樣只要載入這個模塊就能隨時開始工作。下面列出了該模塊中最常用的函數:
randrange() 兩個整數參數,返回二者之間的隨機整數( 接 受 和 range() 函 數 一 樣 的 參 數 , 隨 機 返 回 range([start,]stop[,step])結果的一項)
uniform() 幾乎和 randint() 一樣,不過它返回的是二者之間的一個浮點數(不包括範圍上限)
random() 類似 uniform() 只不過下限恒等於 0.0,上限恒等於 1.0
choice() 隨機返回給定 序列 的一個元素
python 數據類型之數字