數(shù)字不可更改
數(shù)字的分類
整形
布爾型
Boolean型的有兩個(gè)值:True / False。這兩個(gè)值分別對應(yīng)0和1
標(biāo)準(zhǔn)類型整數(shù)
32位機(jī)器上是32位整數(shù),64位機(jī)器上是64位整數(shù)
普通:123, -567
8進(jìn)制:012
16進(jìn)制:0x2A
長整形
表示方式:1000L。注:str()返回1000,repr()返回1000L
范圍:內(nèi)存大小為限,可以任意大
與普通整形的結(jié)合:在整數(shù)運(yùn)算超出范圍之后,會自動把整形轉(zhuǎn)換成長整形
浮點(diǎn)數(shù)
名字:float
類型:雙精度浮點(diǎn)數(shù),IEEE754
復(fù)數(shù)
表示法:a + bj
要求:
實(shí)部虛部的a和b都是浮點(diǎn)數(shù)
虛部不能單獨(dú)存在。即:0.0 + bj才能表示實(shí)部為0的復(fù)數(shù)
虛部必須有后綴j或者J
內(nèi)建屬性:
eg : com = 3 + 4j
com.real : 實(shí)部
com.imag : 虛部
com.conjugate() : 返回共軛復(fù)數(shù)對象
數(shù)字的運(yùn)算
運(yùn)算結(jié)果的類型
自動提升:
如果有一個(gè)操作數(shù)是復(fù)數(shù),則提升為復(fù)數(shù)
否則,如果有一個(gè)浮點(diǎn)數(shù),提升為浮點(diǎn)數(shù)
否則,如果有一個(gè)長整形,則提升為長整形
其他:整數(shù)
coerce()函數(shù)定義了自動提升的規(guī)則
運(yùn)算符(略)
數(shù)字相關(guān)函數(shù)
內(nèi)建函數(shù)
支持cmp(), str(), repr(), type()
工廠函數(shù)
bool(obj) 返回obj對象的布爾值,也就是obj.__nonzero__()方法的返回值
int(obj, base=10) 返回一個(gè)字符串或數(shù)值對象的整數(shù)表示, 類似string.atoi();從Python 1.6起,引入了可選的進(jìn)制參數(shù)。
long(obj, base=10) 返回一個(gè)字符或數(shù)據(jù)對象的長整數(shù)表示,類似string.atol(), 從Python1.6起,引入了可選的進(jìn)制參數(shù)
float(obj) 返回一個(gè)字符串或數(shù)據(jù)對象的浮點(diǎn)數(shù)表示,類似string.atof()
complex(str) or
complex(real, imag=0.0) 返回一個(gè)字符串的復(fù)數(shù)表示,或者根據(jù)給定的實(shí)數(shù)(及一個(gè)可選的虛數(shù)部分)生成一個(gè)復(fù)數(shù)對象。
功能函數(shù)
abs() : 獲得絕對值,對于complex,則返回math.sqrt(num.real + num.imag)
coerce() : 定義計(jì)算時(shí)遇到不同操作數(shù)類型的行為
divmod() : 返回(商,余數(shù))
pow() : 與**類似,進(jìn)行指數(shù)運(yùn)算。此外,可以使用pow(x,y,z),值為pow(x,y) % z,但性能更好。通常用于密碼運(yùn)算
round() : 四舍五入
1. int() : 工廠函數(shù),直接截去小數(shù)部分。返回整數(shù)。int(3.9) 值為3
2. math.floor() : 得到最接近但是小于原數(shù)的整數(shù)。返回值為浮點(diǎn)數(shù)
3. round() : 四舍五入。返回值為浮點(diǎn)數(shù)
僅用于整數(shù)的函數(shù)
進(jìn)制轉(zhuǎn)換
1. hex(255) >>>>'0xff'
2. oct(255) >>>>'0377'
注:轉(zhuǎn)換之后結(jié)果為字符串
ASCII轉(zhuǎn)換
ord('A') >>>> 65
chr(65) >>>> 'A'
!?。。。。?qiáng)烈注意:?。。。。?!這兩個(gè)不支持Unicode!!!!
十進(jìn)制浮點(diǎn)數(shù)Decimal
問題:2進(jìn)制表示浮點(diǎn)數(shù)有精度損失
解決:Decimal
例子:TestDecimal.py
其他數(shù)學(xué)模塊
模塊 介紹
decimal 十進(jìn)制浮點(diǎn)運(yùn)算類 Decimal
array 高效數(shù)值數(shù)組(字符,整數(shù),浮點(diǎn)數(shù)等等)
math/cmath 標(biāo)準(zhǔn)C庫數(shù)學(xué)運(yùn)算函數(shù)。常規(guī)數(shù)學(xué)運(yùn)算在match模塊,復(fù)數(shù)運(yùn)算在cmath模塊
operator 數(shù)字運(yùn)算符的函數(shù)實(shí)現(xiàn)。比如 tor.sub(m,n)等價(jià)于 m - n
random 多種偽隨機(jī)數(shù)生成器