淺析python表達式4+0.5值的數(shù)據(jù)類型
python中表達式4+0.5值的數(shù)據(jù)類型為?
表達式中4是整數(shù)、0.5是浮點數(shù),所以它們相加的值類型是浮點型。
>>> type(4+0.5)<class ’float’>
解析如下:
Python的整數(shù)運算結(jié)果仍然是整數(shù),浮點數(shù)運算結(jié)果仍然是浮點數(shù):
1 + 2 # ==> 整數(shù) 31.0 + 2.0 # ==> 浮點數(shù) 3.0
但是整數(shù)和浮點數(shù)混合運算的結(jié)果就變成浮點數(shù)了:
1 + 2.0 # ==> 浮點數(shù) 3.0
為什么要區(qū)分整數(shù)運算和浮點數(shù)運算呢?
這是因為整數(shù)運算的結(jié)果永遠是精確的,而浮點數(shù)運算的結(jié)果不一定精確,因為計算機內(nèi)存再大,也無法精確表示出無限循環(huán)小數(shù),比如 0.1 換成二進制表示就是無限循環(huán)小數(shù)。
知識點擴展:
Python中整數(shù)和浮點數(shù)
Python支持對整數(shù)和浮點數(shù)直接進行四則混合運算,運算規(guī)則和數(shù)學上的四則運算規(guī)則完全一致。
+-*/
使用括號可以提升優(yōu)先級,這和數(shù)學運算完全一致,注意只能使用小括號,但是括號可以嵌套很多層
和數(shù)學運算不同的地方是,Python的整數(shù)運算結(jié)果仍然是整數(shù),浮點數(shù)運算結(jié)果仍然是浮點數(shù):
1 + 2 # ==> 整數(shù) 3
1.0 + 2.0 # ==> 浮點數(shù) 3.0
但是整數(shù)和浮點數(shù)混合運算的結(jié)果就變成浮點數(shù)了:
1 + 2.0 # ==> 浮點數(shù) 3.0
為什么要區(qū)分整數(shù)運算和浮點數(shù)運算呢?這是因為整數(shù)運算的結(jié)果永遠是精確的,而浮點數(shù)運算的結(jié)果不一定精確,因為計算機內(nèi)存再大,也無法精確表示出無限循環(huán)小數(shù),比如 0.1 換成二進制表示就是無限循環(huán)小數(shù)。
那整數(shù)的除法運算遇到除不盡的時候
11 / 4 # ==> 2
thon的整數(shù)除法,即使除不盡,結(jié)果仍然是整數(shù),余數(shù)直接被扔掉。不過,Python提供了一個求余的運算 % 可以計算余數(shù):
11 % 4 # ==> 3
如果我們要計算 11 / 4 的精確結(jié)果,按照“整數(shù)和浮點數(shù)混合運算的結(jié)果是浮點數(shù)”的法則,把兩個數(shù)中的一個變成浮點數(shù)再
運算就沒問題了:
11.0 / 4 # ==> 2.75
以上就是淺析python表達式4+0.5值的數(shù)據(jù)類型的詳細內(nèi)容,更多關于python中表達式4+0.5值的數(shù)據(jù)類型的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章: