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
發佈了31 篇原創文章 · 獲贊 41 · 訪問量 1651
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章