Python學習之路10 數字

2021-06-29 06:29:29 字數 3556 閱讀 5888

數字提供了標量儲存和直接訪問。數字是不可更改型別,也就是說變更數字的值會生成新的物件。

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

可以通過賦值來建立或更新數字物件。

建立數字物件: 如 var = 1

更新數字物件: 如 var += 2

刪除數字物件: 如 del var

python有幾種整型型別:布林型別,常規整型,長整型。

布林型的取值範圍只有兩個值,true和false。

在大多數32位機器上,標準整型型別的取值範圍是-2^31到2^31-1,也就是-2147483648 ~ 2147483647.如果在64位機器上使用64位編譯器編譯python,那麼這個系統的整型將是64位。

python標準型別等價於c的(有符號)長整型。整數可以以十進位制,八進位制和十六進製制來表示。

必須注意的是:python長整形不同於c和其他編譯型語言的長整型型別。那些語言的長整形的通常的取值範圍是32位或64位。python的長整型能表達的數值僅僅與你支援的(虛擬)記憶體大小有關,也就是說,python能輕鬆表達很大的整型。

長整型型別是標準整型型別的超集,當你的程式需要使用比標準整型更大的整型時,就可以用長整型。在乙個整型值後面加個l或l,表示這個整型是長整型。

python中的浮點型型別c語言中的double型別,是雙精度浮點型,可以用十進位制或科學計數法表示。每個浮點型佔8個位元組(64位),完全遵守ieee754號規範,其中52個位用於表示底,11個位用於表示指數,剩下的1位表示符號。

下面是python語言中有關複數的幾個概念。

虛數不能單獨存在,它們總是和乙個值為0.0的實數部分一起來構成乙個複數。

複數是實數部分和虛數部分構成。

表示虛數的語法:real+imagj

實數部分和虛數部分都是浮點型。

虛數部分必須有字尾j或j。

複數的內建屬性

複數物件擁有資料屬性,分別為該複數的實數部分和虛數部分。複數還擁有conjugate方法,呼叫它可以返回該複數的共軛複數物件。

>>> acomplex = -8.9-1.4j

>>> acomplex

(-8.9-1.4j)

>>> acomplex.real

-8.9

>>> acomplex.imag

-1.4

>>> acomplex.conjugate()

(-8.9+1.4j)

兩個操作符運算的轉換規則:

>

<>=

<= ==

+-*/ %**(冥運算)

這些大家都很熟,主要寫一下除法

傳統除法

如果是整型除法,傳統除法會捨去小數部分,返回乙個整型(地板除)。如果操作符之一是浮點型,則執行真正的除法。

>>> 6 / 4#perform integer result(執行整數結果)

1>>> 6.0 / 4#returns actual quotient(返回實際的商)

1.5>>>

真正的除法

除法運算總是返回真實的商,不管運算元是整型還是浮點型。通過執行from __future__ import division

>>> from __future__ import division

>>> 6 / 4

1.5>>> 6.0 / 4

1.5>>>

~(取反)&(按位與)|(或)^(異或)

<<(左移)>>(右移)

cmp(),str(),type()

int() : 將其他數值型別轉換為相應的整型

long() : 將其他數值型別轉換為相應的長整型

float() : 將其他數值型別轉換為相應的浮點型

complex() : 將其他數值型別轉換為相應的複數

>>> int(4.5555)

4>>> long(442)

442l

>>> float(4)

4.0>>> complex(2.4, -8)

(2.4-8j)

abs(num)返回給定引數的絕對值。如果引數是乙個複數,那麼就返回math.sqrt(num.real^2 + num.imag^2)

>>> abs(-1)

1>>> abs(1.2-2.1j)

2.418677324489565

>>>

coerce(num1,num2)將num1和num2轉換為同一型別,然後以乙個元組的形式返回

>>> coerce(2.1, 211l)

(2.1, 211.0)

>>> coerce(1, 112l)

(1l, 112l)

>>> coerce(1.23-41j, 123l)

((1.23-41j), (123+0j))

>>>

divmod(num1,num2)把除法和取餘運算結合起來,返回乙個包含商和餘數的元組。

>>> divmod(10,3)

(3, 1)

>>> divmod(10, 2.5)

(4.0, 0.0)

>>> divmod(2+1j, 0.5-1j)

((-0+0j), (2+1j))

>>>

pow(num1,num2)返回num1的num2次方。

>>> pow(2,10)

1024

>>> pow(1+1j,3)

(-2+2j)

>>>

round(flt, nig =1)接受乙個浮點型flt並對其四捨五入,儲存ndig為小數

>>> round(3.45)

3.0>>> round(3.51)

4.0>>> round(3.449,1)

3.4>>> round(3.449,2)

3.45

>>>

進製轉換函式

hex()將十進位制轉換為十六進製制

oct()將十進位制轉換為八進位制

>>> hex(255)

'0xff'

>>> oct(255)

'0377'

>>>

ascii轉換函式

chr()接受乙個單位元組整型值,返回乙個字串,其值為對應的字元

ord()接受乙個字元,返回其對應的整型值。

>>> ord('a')

97>>> ord('a')

65>>> chr(97)

'a'>>> chr(65)

'a'>>>

Python學習之路10 內建方法

id obj,返回物件的標識,這個標識對每個物件而言是唯一的 type object 返回物件的類別 a 10 b 0.5 c type a class int type b class float type c class list type len class builtin function ...

Python之路 數字

python 數字資料型別用於儲存數值。資料型別是不允許改變的,這就意味著如果改變量字資料型別的值,將重新分配記憶體空間。以下例項在變數賦值時 number 物件將被建立 var1 1 var2 10您也可以使用del語句刪除一些數字物件的引用。del語句的語法是 del var1 var2 var...

Linux學習之路(10)

雙向迴圈鍊錶 main.c include include linklist.h int main else 頭插 insert head ls,1 insert head ls,5 insert head ls,12 insert head ls,12 insert head ls,15 inse...