《Python核心編程》數字類型
阿新 • • 發佈:2017-07-15
功能 通過 pen 運行 popu import blog 字典 var
1、數字類型簡單介紹
- Python中數字類型包含:整型、長整型、布爾型、雙精度浮點型、十進制浮點型、復數。這些數字類型都是不可變類型。也就是說,改變了數字的值會生成新的對象。
- 在Python中刪除數字對象,能夠用語句:del aInt,aLong,aFloat,aComplex
2、整型
布爾型
取值範圍唯獨兩個值。True和False。
它們在數學運算中相應1和0.
對於值為0的不論什麽數字或空集(空列表、空元組、空字典等)在Python中的布爾值都是False。
長整型
在其它編程語言中,比方C++中。int占用了32位。long int則取決於機器字長,long long int為64位。而在Python中。標準整型一般也是占用32位。可是假設在64位機器上用64位的編譯器編譯Python。則整型占用64位。
Python中長整型能夠支持的範圍非常大,只取決機器支持的虛擬內存大小。長整型的聲明:直接在數字後加L:12345L
Python中整型與長整型逐漸統一為一種,所以使用時不用去關心整型還是長整型。
3、雙精度浮點型
Python中的浮點型相似C中的double型,是雙精度浮點型。占用64位。
4、復數
Python中的復數類型規定:
- 復數由實數部分和虛數部分構成:real + imagj
- 虛數部分不能單獨存在,必須與0.0的實數部分一起構成復數
- 實數部分real和虛數部分imag都是浮點類型。
- 復數類型有三個內建屬性: real、imag、conjugate(返回共軛復數)
>>> aComplex = 1.0 + 2.0j
>>> aComplex.real
1.0
>>> aComplex.imag
2.0
>>> aComplex.conjugate()
(1-2j)
5、操作符
自己主動類型轉換
當對兩個不同類型的數進行操作時。Python會自己主動進行類型轉換。
主要的原則就是:整型轉換為浮點型,非復數轉換為復數。
真正的除法 vs 地板除
如今Python的版本號中調用除號“/”,運行的都是真正的除法:
>>> 1/2
0.5
>>> 1.0/2.0
0.5
另外另一種除法叫做地板除,它無論操作數為何種類型,總是舍去小數部分,能夠通過符合“//”實現:
>>> 1.0//2.0
0.0
冪運算
通過操作符 ** 實現,註意各種符號的優先級,或者直接通過括號()消除優先級帶來的歧義:
>>> -2**4
-16
>>> (-2)**4
16
位操作符
Python整型支持標準位運算:取反 ~ 、按位與 & 、按位或 | 、按位異或^ 、左移<< 、右移>>
6、工廠函數
- 標準類型函數如cmp()、str()、type()
- 數字類型函數
- 轉換工廠函數:int()、long()、float、conplex()
- 功能函數:
- abs(num),返回絕對值
- corece(num1,num2)將num1、num2轉換為同類型,然後以元組形式返回
- divmod(num1,num2),返回(num1/num2,num1%num2)
- pow(num1,num2),實現num1**num2
- round(flt,ndig=0),對浮點數flt四舍五入,保存ndig位小數。默覺得0。
- 僅用於整型的函數
- 進制轉換函數,oct()、hex()
- ASCII轉換函數
- chr()接受一個單字節整型值,返回相應的字符
- ord()接受一個字符。返回相應的整型值
>>> chr(97)
‘a‘
>>> ord(‘a‘)
97
7、相關模塊
- decimal 十進制浮點運算類 Decimal
- array 高效數值數組
- math/cmath 標準C庫數學運算函數。常規數學運算在math中,復數運算在cmath中
- operator 數學操作符的函數實現,比方 operator.sub(2,1)相當於2-1
- random 多種偽隨機數生成器
>>> import operator
>>> operator.sub(2,1)
1
>>> import random
>>> random.randint(0,10)
3
>>> random.randint(0,10)
7
轉載請註明出處:http://blog.csdn.net/u012162613/article/details/44286655
《Python核心編程》數字類型