整數
python整數無限制
最常用的pow(x,y)函數實現指數運算,即xy
例如:
pow(2,100)
則是運算2的100次方
pow(2(2,25))
則運算2的2的25次方
python整數有四種進製表示形式
十進制
例如: 123、285、-236、
二進制
例如:0b101、0B110、-0b001
八進制
例如:0o123、-0O456
十六進制
例如:0x9a、-0X89
浮點數
浮點數的運算存在不確定尾數,這不是bug
例如 0.1+0.2
運行結果是:0.3000000004
這就是不確定尾數造成的
對於小數0.1,計算機中所有數字採用二進制,在python語言中使用53位二進制表示小數部分,約10-16
0.1在計算機中二進制表示的數字爲一串0101這樣的數字
由於計算機中的二進制與十進制之間不存在對等關係,所以0.1在用二進制表示時是一個無限小數,計算機在截取時只能截取其中53位無限接近0.1,並不真正等於0.1
如果這53位表示的二進制轉化爲十進制,它是0.1但是會有不確定尾數更隨其後,正是因爲二進制表示小數,可以無限接近,但是不完全相同這個問題,使得0.1和0.2進行計算時,它在計算機內部進行二進制的轉換,再經過二進制的運算,再經過反向轉換,轉換成十進制的小數時,結果會無限接近0.3,但可能會出現不確定尾數
爲了解決0.1+0.2==0.3
運行結果爲 False
我們通過round函數來判斷浮點數運算與浮點數之間的比較關係
修改以上程序 round(0.1+0.2,1)==0.3
運行結果爲 True
- round(x,d)
對x四捨五入,d是小數截取位數,即取小數後的幾(d)位保留
浮點數的科學計數法表示
使用字母e或E作爲冪的符號,以10爲基數,格式如下:
<a>e<b>
表示 a*10b
例如:4.3e-3 值爲0.0043
9.6E5值爲960000.0
複數類型
只有python中提供了複數類型
定義j=根號下(-1),以此爲基礎,構建數學體系
a+bj 被稱爲複數,其中,a 是實部,b 是虛部
例如 z=1.23e-4+5.6e+89j
z.real
獲得實部z.imag
獲得虛部
數值運算操作符
操作符及使用 | 描述 |
---|---|
x+y | 加,x與y之和 |
x-y | 減,x與y之差 |
x*y | 乘,x與y之積 |
x/y | 除,x與y之商 10/3結果是3.333333333335 |
x//y | 整數除,x與y之整數商 10//3結果是3 |
+x | x本身 |
-y | y的負值 |
x%y | 餘數,模運算 10%3結果是1 |
x**y | 冪運算,x的y次冪,Xy // 當y是小數時,10**0.5結果是根號10 |
二元操作符有對應的增強賦值操作符,它的基本功能是對兩個數進行運算之後去更改其中的一個數
增強操作符及使用 | 描述 |
---|---|
x op =y | 即 x=x op y,其中,op 爲二元操作符 |
例如:
>>> x=3.1415
>>> x**=3 #與 x=x**3等價
結果爲:31.006276662836743
x等於x的3的3次冪
數值運算函數
一些以函數形式提供的數值運算功能
函數及使用 | 描述 |
---|---|
abs(x) | 絕對值,x的絕對值 |
divmod(x,y) | 商餘,(x//y,x%y),同時輸出商和餘數 |
pow(x,y[,z]) | 冪餘,(x**y)%z,[…]表示參數z可省略 |
round(x[,d]) | 四捨五入,d是保留小數位數,默認值爲0 |
max(a,b,c,d) | 最大值,返回abcd中的最大值 |
min(a,b,c,d) | 最小值,返回abcd中的最小值 |
int(x) | 將x變成整數,捨棄小數部分 int(“123”)結果爲123 |
float(x) | 將x變成浮點數,增加小數部分 float(“12.3”)結果爲1.23 |
complex(x) | 將x變成複數,增加虛數部分 complex(4)結果爲4+0j |