# -*- coding:utf-8 -*- # 運算符含有+,-,*,/,**,//,% # ** 表示^ , 也就是次方 a = 2 ** 4 print '2 ** 4 = ', a a = 16 / 5 print '16 / 5 = ', a a = 16.0 / 5 print '16.0 / 5 = ', a # 結果再進行一次floor a = 16.0 // 5.0 print '16.0 // 5.0 = ', a a = 16 // 5 print '16 // 5 = ', a # 在Python 2.7中,’/’執行傳統除法,若是操做數都是整數的話,執行截斷的整數除法(即對於結果只保留整數部分),不然,執行浮點除法(保留餘數);’//’執行Floor除法,與Python3.0同樣,對於整數執行截斷除法,浮點數執行浮點除法。 # 在Python 3.0中,’/’老是執行真除法,無論操做數的類型,都會返回包含任何餘數的浮點結果;’//’執行Floor除法,截除掉餘數而且針對整數操做數返回一個整數,若是有任何一個操做數是浮點數,則返回一個浮點數。 a = -16 // 5 print '-16 // 5 = ', a # 往下取整, 返回不大於x的整數 結果: 2 ** 4 = 16 16 / 5 = 3 16.0 / 5 = 3.2 16.0 // 5.0 = 3.0 16 // 5 = 3 -16 // 5 = -4 # 運算符的優先級 # + - 小於 * / a = 5 * 6 // 4 print '5 * 6 // 4 = ', a # * 等同於 // a = 5 * 2 ** 2 print '5 * 2 ** 2 = ', a # ** 優於 * a = 5 * 3 % 2 print '5 * 3 % 2 = ', a # * 等同於 % # 因此加括號吧 結果: 5 * 6 // 4 = 7 5 * 2 ** 2 = 20 5 * 3 % 2 = 1
python中整數運算很神奇,不限制長度,也就是沒有溢出這種說法。不過在64位能表示的狀況下,數字的類型爲int,超過2^63次方以後就變成了long類型。python
並且目前所瞭解到的,整數的各種運算速度都還挺快,都是通過優化的。優化
python中的浮點數運算就能夠等於double的運算了。spa