#基本資料型別
1.整型和浮點型
對於整型int來講,不存在溢位。
但是浮點型float會溢位,會損失精度,即精度無效。
為什麼會有精度失效:
計算機都是用二進位制表示的,必然存在0與1之間的數字沒法表示的情況
二進位制小數轉十進位制小數
101.111(2)轉
1*(22)+0*(21)+1*(20)+1*(2(-1))+1*(2(-2))+1*(2(-3))=5.875
(不太會用這個的編輯器額。。這個咋調額)
十進位制小數轉二進位制小數
111.4(10)轉
對小數部分採取「乘二取整法」
0.42=0.8 取0
0.82=1.6 取1
0.62=1.2 取1
0.22=0.4 取0
到這裡可發現出現了迴圈,故而存在不能很好用0與1表示的數,即導致精度失效。
結果為1101111.01100110…(2)
規避精度失效:精確到小數點後面多少位
>>> from decimal import context,getcontext
>>> getcontext()
context(prec=28, rounding=round_half_even, emin=-999999, emax=999999, capitals=1, clamp=0, flags=, traps=[invalidoperation, divisionbyzero, overflow])
>>> getcontext().prec = 8
>>> decimal.decimal(3.3)*decimal.decimal(6)
decimal('19.800000')
這樣我們通過getcontext().prec = 8進行了位數重置,再通過decimal這個雷來定義浮點型3.3、6,這樣通過decimal這個類例項化出來的浮點型小數就具有保留八位小數的功能了。
2.none
3.bool
4.小結
基本資料型別一共有4種,int、float、bool、none
python基本數 python基本資料型別
1.數字 int 數字又分整型和浮點型,在python中宣告變數是不用宣告所以自己就會識別 a 10 整型 a1 1.24 浮點型 支援科學計數法,將10用e來代替 2.字串 str 在python中用引號引起來的就是字串,而且單引號和雙引號並沒有什麼區別 a string a1 string a2...
基本資料類
integer integer1 1 int integer2 integer1 將基本資料型別換成string字串型別 講字串轉換成基本資料型別 int num integer.parseint 1 判斷記憶體位址是否相同,用 判斷物件的資料是否相同,用 equals 比較是否相等,可用向下轉型方...
Python之路三 python基本資料型別(1)
1 int型別 int整型型別就是平時使用的整數。注意 在python3中,只有一種整數型別int,表示為長整型,沒有python2中的long。type 函式能用來檢視當前變數的資料型別。a 10print type a 列印如下 class int 2 float float浮點型別就是平時使用...