「Python」为什么Python里面,整除的结果会是小数?
生活随笔
收集整理的這篇文章主要介紹了
「Python」为什么Python里面,整除的结果会是小数?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:https://www.cnblogs.com/bEngi1/p/9155297.html
‘//’明明是整除,為什么結果不是整數,而會出現小數?
首先,關于除法有三種概念:傳統除法、精確除法和地板除
1 2 3 4 5 6 7 #1、傳統除法:整數相除結果是整數,浮點數相除結果是浮點數 >>>4/2 2 >>>4.0/2 2.0 >>>4/2.0 2.0 #2、精確除法:無論操作數是整數還是浮點數,得到的商總是真實結果,總是得到浮點數 >>>4/2 2.0 >>>4.0/2 2.0 >>>4/2.0 2.0 #3、地板除:無論操作數是整數還是浮點數,得到的商不保留浮點數的尾數 >>>4//2 2 >>>4.0//2 2.0但是!這三種除法概念在Python2.6和Python3.0中又有不同
Python2.6中,‘/’按照以上三種除法概念把結果分得更細:比如,整數相除結果為整數,只要有一個浮點數結果就是浮點數(Python2.6:>>>3/2輸出1);地板除‘//’(和Python3.0一樣):操作數為整數,整除結果為整數。否則操作數只要有一個浮點數,結果就為小數(這里小數和浮點數有區別,就是這個區別能解釋開頭引入例題)
Python3.0中,‘/’保留小數,這把‘/’的結果合并起來了,無論操作數是整數還是浮點數,結果總都是浮點數(Python3.0:>>>3/2輸出1.5);地板除‘//’(和Python2.6一樣):同上
因此,現在,就能解釋開頭引入的例題了
#Python3.0下運行的結果 >>>4.5/2 2.25>>>4.5//2 2.0第一個運算得到的結果是保留尾數數值的浮點數(當然也屬于小數);而第二個運算,不保留尾數數值,直接截斷僅保留其整數數值,但是因為有一個操作數是浮點數,所以得到的結果是小數,這個就是Python3.0對于‘//’的運算規則
總結
以上是生活随笔為你收集整理的「Python」为什么Python里面,整除的结果会是小数?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nlp2-数学基础(信息论,概率论、词义
- 下一篇: websocket python爬虫_p