App下載
5. 數(shù)據(jù)類型之浮點數(shù)
Python3 入門課程 / 5. 數(shù)據(jù)類型之浮點數(shù)

Python3 入門課程

手機(jī)也能上課
App下載
1/4

浮點數(shù)

Python 中使用浮點數(shù)來表示不是整數(shù)的數(shù)字。

浮點數(shù)表示的數(shù)字的例子:0.5 和 -7.8237591。

浮點數(shù)可以通過輸入帶小數(shù)點的數(shù)字直接創(chuàng)建,也可以使用整數(shù)除法等操作產(chǎn)生。

數(shù)字結(jié)尾的零會被忽略。

print(3/4)
print(0.523322)

計算機(jī)不能完全精確地存儲浮點數(shù),就像我們不能寫下1/3(0.3333333333333333 ...)的完整小數(shù)點一樣。

記住這一點,因為它往往會導(dǎo)致令人憤慨的錯誤!

為什么計算機(jī)不能完全精確地存儲浮點數(shù)?

計算機(jī)不能精確存浮點數(shù),一是因為它的 “空間” 有限。

一個數(shù)變成二進(jìn)制后可能很長,計算機(jī)存不下那么多,只能截斷一部分,就有了誤差。

二是有些十進(jìn)制數(shù)像 0.1 和 0.2,變成二進(jìn)制后是無限循環(huán)的。

print(0.1+0.2) # 0.30000000000000004

所以在python中直接使用0.1+0.2并不會等于0.3。


計算機(jī)存儲空間有限,存不下完整的無限循環(huán)的數(shù),所以就沒辦法精確存儲浮點數(shù)啦。

不過像 0.5 這樣的數(shù)在二進(jìn)制里很簡單,就可以精確存儲。

print(0.1+0.5) # 0.6



+10 經(jīng)驗 +10積分
解析
提示
參考答案
+10 經(jīng)驗 +10積分
視頻播放結(jié)束,是否學(xué)習(xí)下一節(jié)?