python 算术运算
1. 算术运算符与优先级
# -*- 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中的浮点数运算就可以等于double的运算了。