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的运算了。

 

posted @ 2017-12-09 15:49  chenhuan001  阅读(414)  评论(0编辑  收藏  举报