1. 程式人生 > >python 數據類型之數字

python 數據類型之數字

值範圍 num 次方 4.2 bsp 小數 轉換 範圍 rand

一、數字類型

  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 數據類型之數字