Python数字类型及操作
整數
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 |
總結
以上是生活随笔為你收集整理的Python数字类型及操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实力和服务质量为标准如何选择实验室装修公
- 下一篇: 水磨石样板打样黑色的怎么磨不起划痕?