天天看點

python int函數 向上取整_從零開始學習python(3)——數字類型數字類型小結

數字類型

Python中的數字類型有三種:整數,浮點數和複數。

整數:整數的的概念就不用說了,像1,2,99999都是整數。

浮點數:可以了解為帶小數點的數,如0.1,23.3432,10.0都是浮點數。

複數:複數這個概念我們應該是在高中的時候接觸到的,複數由兩部分組成實部+虛部,如2+3j等,Python中虛部使用j表示的。

在之前介紹運算符的文章中,我有将常用的一些運算符都給列出來,感興趣的朋友可以前去檢視,從零開始學習python(1)——表達式,語句,變量與運算符 。同時為了友善說明今天的執行個體,我将一些用于數字運算的符号在下面列出:

python int函數 向上取整_從零開始學習python(3)——數字類型數字類型小結

執行個體分析

在IDLE的互動模式下進行測試:

 >>> 2 + 3 5 >>> 6 - 3 3 >>> 4 * 3 12 >>> 6 / 2 3.0 >>> 6 // 2 3 >>> 6 % 2 0 >>> - 23 -23 >>> + 34 34 >>> 4 ** 2 16
           

從結果中看到:6 / 2 = 3.0,這是為什麼?明明是整數相除,為什麼結果是一個浮點數,這其實是Python内部規定的,即使兩個數能夠整除結果依然是一個浮點數,那我如果想要一個整數的結果應該怎麼辦?這時候Python提供了另外一種除法即地闆除法。

地闆除法:符号是兩個斜杠//,此時6 // 2 = 3。為了詳細說明地闆除法我們需要再測試幾個例子:

 >>> 3 // 2 1 >>> -3 // 2 -2
           

地闆除法遵循向下取整的原則,取比目标結果小的最大整數,是不會進行四舍五入的,是以3除以2應該等于1.5的結果變成了1,而-3除以2的結果應該等于-1.5的,會取比-1.5小的最小整數,是以是-2。

接下來介紹表格中後面幾個Python的内建函數(BIF),即built in function。

pow()函數是計算平方的,作用和**幾乎一樣,但是它還可以傳遞第三個參數:

 >>> pow(4, 2) 16 >>> 4 ** 2 16 >>> pow(4, 2, 5) 1
           

在傳入第三個參數後pow()函數傳回的是:4 ** 2 % 5的值,即16除以5的餘數1。

abs()函數則是傳回參數的絕對值,如果參數是複數,則傳回它的模:

 >>> abs(-123) 123 >>> abs(1 + 2j) 2.23606797749979
           

複數模的計算方法是:對實部的平方加上虛部的平方的和開平方。

對于後面幾個内建函數這裡一并進行讨論:

 >>> int(123.1) 123 >>> int(123.999) 123 >>> float(123) 123.0 >>> float('123') 123.0 >>> complex(23, 34) (23+34j) >>> 1 + 2j.conjugate() (1-2j) >>> divmod(7, 2) (3, 1)
           
  1. 使用int()函數取整是直接截斷小數部分,而僅保留整數部分,不遵循四舍五入的原則的。
  2. float()函數與int()函數一樣可以對數字和字元串進行處理,需要注意的是雖然123和123.0在數值上是相等的,但是在Python的确實不同的,因為Python對于整數和浮點數的存放方法不一樣。
  3. divmod(x, y)函數傳回的分别是x除以y的商,和餘數。需要注意的是,它并不會改變x和y的值:
>>> divmod(7, 2) (3, 1) >>> x = 7 >>> y = 2 >>> divmod(x, y) (3, 1) >>> x 7 >>> y 2
           

小結

以上就是關于Python數字類型的一些簡要總結,由于本人也還在學習中,如有不對還請指出,歡迎大家一起交流。

繼續閱讀