第五章 數字

2021-08-03 18:29:05 字數 2904 閱讀 4121

python支援多種數字型別:整型、長整型、布林型、雙精度浮點型、十進位制浮點型和複數

數字提供了標量貯存和直接訪問,不可更改。(變更數字的值會生成新的物件)

給變數更新值的時候,並不是更改了物件(數字是不可更改的物件),而是新建了乙個物件,將這個物件的值引用給變數

按照python的法則,無法真正刪除乙個數值物件,僅僅是不再使用它。當然,你可以使用del來刪除乙個數值物件的應用。

python的標準整型等價於c的(有符號)長整型。一般以十進位制表示(八進位制以數字「0」開始,十六進製制以「0x」或「0x」開始)

python的長整型能表達的數值取決於機器支援的(虛擬)記憶體大小有關。在整型後面加個l(大寫小寫都可以,當然現在幾乎沒有什麼區別,除非你明確想要長整型),表示這個整型是長整型。(盡量使用l而不是l以免和1弄混,這裡可以使用str()函式和repr()函式來讀取,這樣你就可以看到他們的區別)可以是十進位制、八進位制、十六進製制。

關於python中複數的幾個概念:

複數的屬性如下:

複數屬性 屬性

描述num.real

該複數的實部

num.imag

該複數的虛部

num.conjugate()

返回該複數的共軛複數

兩個數字型別相加的時候,python會自動檢查,如果兩個運算元是同一種資料型別,沒有必要進行型別轉換,僅當兩個運算元型別不一致時,python才會去檢查是否可以將其中乙個轉換成另外乙個。轉換過程遵守以下幾個原則:

數字型別的轉換是自動進行的,如果明確指定某種資料型別進行特殊轉換的場合,python提供了coerce()內建函式來實現。

傳統除法:對整型的除法捨去了小數部分僅保留整數部分,對浮點型執行真正的除法。

可以執行from __future__ import division來讓所有除法都返回真實的商

//:可以對所有數值型別只執行地板除(捨去小數部分僅保留整數部分)

算術操作符

算術操作符

功能expr 1 ** expr 2

表示式一的表示式二乘方

+expr 1

結果符號不變

-expr 1

對結果符號取負

expr 1 * expr 2

表示式一乘以表示式二

expr 1/expr 2

表示式一除以表示式二(傳統除或者真正除)

expr 1//expr 2

表示式一地板除表示式二

expr 1%expr 2

表示式一對表示式二取餘

expr 1+expr 2

表示式一加表示式二

expr 1-expr 2

表示式一減表示式二

**高於單目操作符(可以加括號來改變)

python整型支援標準位運算:

位操作符

功能~num

對數的每一位取反。結果為-(num+1)

num1

num1>>num2

num1右移num2位

num1&num2

num1與num2按位與

num1^num2

num1異或num2

num1|num2

num1與num2按位或

工廠函式:bool(obj)、int(obj,base=10)(直接擷取小數部分)、long(obj,base=10)、float(obi)、complex(str) or complex(real,inag=0.0)

數值運算內建函式 函式

功能abs(num)

返回num的絕對值

coerce(num1,num2)

將num1和num2轉化為同一型別,然後以元組的形式返回

floor(num)

得到最接近num但小於num的整型(返回浮點型)

divmod(num1,num2)

返回元組(num1/num2,num1%num2)

pow(num1,num2,mod=1)

取num1的num2次方,提供mod引數後,計算結果再對mod取餘

round(flt,ndig=1)

接受浮點型flt並四捨五入,儲存ndig位小數,ndig預設為0

僅適用於整型的內建函式 函式

操作hex(num)

將數字轉換成十六進製制並以字串返回

oct(num)

將數字轉換成八進位制並以字串返回

chr(num)

將ascii值的數字轉換為ascii字元(0<=num<=255)

ord(chr)

接受乙個ascii或unicode字元,返回對應值

unichr(num)

接受unicode碼值返回對應字元

布林型別主要概念:

數字型別相關模組 模組

介紹decimal

十進位制浮點運算類decimal

array

高效數值陣列(字元、整型、浮點型等)

math/cmath

標準c庫數**算函式。常規數學在math模組,複數運算在cmath模組

operator

數字操作符的函式實現

random

多種偽隨機數生成器

random常用函式

randint()

兩個整型引數,返回二者間隨機整型

randrange()

接受和range()函式一樣的引數,隨機返回range([start,]stop[,step])結果的一項

uniform()

幾乎和randint()一樣,不過返回二者間的浮點型

random()

類似uniform(),不過下限恒等0.0,上限恒等1.0

choice

隨機返回給定序列的乙個元素

第五章 數字

整形 長整形 布林型 雙精度浮點型 十進位制浮點型和複數。在賦值的同時,被建立。例子a 1 print a結果1例子a 1 print a,id a a 32 print a,id a 結果1 49373672 32 49372928例子a 32 print a,id a del a print a...

第五章 數字

python的數字型別 在python中,數字並不是乙個真正的物件型別,而是乙個類似型別的分類。python數字型別的完整工具包括 1 數字常量 整數和浮點數常量。python2.6中的整數 一般整數和長整數。python3.0中的整數 乙個單獨的型別。十六進製制數 八進位制和二進位制常量。複數。編...

第五章 數字型別

python表示式操作符 操作符 描述 yield 生成器函式傳送協議 lambda args expression 生成匿名函式名 x if y else z 三元選擇表示式 x or y 邏輯或,x為假執行y x and y 邏輯與 not x 邏輯非 x in y,x not in y 成員關...