標籤:
1. 支援類型
python支援多種數字類型:整形,長整型,布爾型,雙精確度浮點型,十進位浮點型,複數
注意:給數字對象重新賦值,實際上並沒有更新該對象的原始數字(數字對象immutable),只是重建一個新的數值對象,並指向它。
複數
>>> aComplex = -3.1-4.2j>>> aComplex(-3.1-4.2j)>>> aComplex.real-3.1>>> aComplex.imag-4.2>>> aComplex.conjugate()(-3.1+4.2j)
布爾型
對於值為零的任何數字或空集(空列表、空元組和空字典等)在 Python 中的布爾值都是 False。
2. 運算子
加法
python支援不同的數實值型別相加,遵循轉換規則:整數轉為浮點數,非複數轉為複數。
數字類型間的轉換是自動的,但可以通過 coerce() 內建函數來明確指定對某種資料進行特殊類型轉換
除法
>>> 1 / 20>>> 1.0 / 2.00.5 # 傳統除法>>> 1.0 // 2.00.0 # 地板除>>> from __future__ import division # 匯入真正除法>>> 1 / 20.5
位元運算:取反(~),按位 與(&), 或(|) 及 異或(^) 及左移(<<)和右移(>>)
3. 內建函數與工廠函數
支援標準類型內建函數 cmp(), str() 和 type()
數實值型別函數
轉換工廠函數
bool(obj)
int(obj, base=10)
long(obj, base=10)
float(obj)
complex(str) or complex(real, imag=0.0)
>>> bool(‘hello‘)True>>> int(‘2015‘)2015>>> long(2015)2015L>>> float(2015)2015.0>>> complex(2015)(2015+0j)>>> complex(2015, 5)(2015+5j)
功能函數
abs(num)
coerce(num1, num2) 將num1和num2轉換為同一類型,然後返回一個tuple
divmod(num1, num2) 返回一個tuple(num1/num2, num1%num2)
pow(num1, num2, mod=1) 取num1的num2次方,如果提供mod參數,則再對mod進行取餘運算
round(fit, ndig=0) 接受浮點數並進行四捨五入,保留ndig位小數
>>> abs(-1)1>>> abs(3+4j)5.0>>> coerce(1.5, 3)(1.5, 3.0)>>> coerce(3+4j, 5)((3+4j), (5+0j))>>> divmod(10, 3)(3, 1)>>> divmod(10, 2.5)(4.0, 0.0)>>> divmod(3+4j, 1+2j)((2+0j), (1+0j))>>> pow(2, 3)8>>> pow(3+4j, 2)(-7+24j)>>> round(2.4)2.0>>> round(-2.4)-2.0>>> round(-2.17, 1)
僅用於整數(標準整數、長整數)的函數
進位轉換
oct(): 轉換為八進位,返回字串hex(): 轉換為十六進位,返回字串>>> oct(8)‘010‘>>> hex(16)‘0x10‘
ASCII轉換
>>> ord(‘a‘)97>>> chr(97)‘a‘
2015-05-24
python之數字類型