1. 算術運算符與優先級
# -*- coding:utf-8 -*-# 運算符含有+,-,*,/,**,//,% # ** 表示^ , 也就是次方 a = 2 ** 4 print '2 ** 4 = ', aa = 16 / 5 print '16 / 5 = ', aa = 16.0 / 5 print '16.0 / 5 = ', a# 結果再進行一次floor a = 16.0 // 5.0 print '16.0 // 5.0 = ', aa = 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中的浮點數運算就可以等于double的運算了。
?