1. 程式人生 > >Python2和Python3關於int資料相除結果的區別

Python2和Python3關於int資料相除結果的區別

之前一直用的是Python3,有一個除法公式用起來也沒有出現什麼bug,後來專案需要用Python2執行,出現了一個明顯不合理的錯誤。

因為整個程式不是我寫的,也是原來的公式,導致我沒有意識到是版本不同,而出現的bug。

後來將所有的資料變數都列印了一遍,才發現問題。Python2中將int的資料相除,自動轉化成int型別,也就是除去小數部分 :

>>> a = 11
>>> b = 2
>>> c = a/b
>>> c
5

如果是Python3的話:

>>> a = 11
>>> b = 2
>>> c = a/b
>>> c
5.5

同樣都是int資料,但是Python3就會自動識別出,資料型別將要發生變化,只要是除法運算,返回值都是float資料型別。