数值基本运算
支持最基本的数学运算符号:+ - * / % **、取正负+x -x,地板除法//,除法和取模divmod(x, y):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 >>> 123 + 345 468 >>> 345 - 123 222 >>> 1.5 * 4 6.0 >>> 2/5 0.4 >>> 2 % 3 2 >>> 3 ** 2 9 >>> 3.00 ** 2 9.0 >>> 3 ** 100 515377520732011331036461129765621272702107522001 >>> a = 3; b = -3 >>> -a, -b (-3, 3) >>> divmod(5, 2) (2, 1)
可见,python的数值计算方式非常直接,且python 3.x中会自动为整数提供无穷精度。正如上面最后一个计算表达式(3**100),它将所有数字都显示出来了。就算是计算3**10000,3**1000000,python也不会报错,不过3的100万次方,显然需要花上一段时间来计算。这和其它编程语言有所区别,例如java中计算Math.pow(3,10000)将返回Infinity,表示无穷大。
又是几个注意事项:
- python中的除法运算/得到的结果总是浮点数(例如9/3=3.0),后面还有一种地板除法(floor)不一样。
- 当数值部分有小数时,会自动转换为浮点数类型进行运算,而且会自动忽略参与运算的小数尾部的0。
- 加号+和乘号*也能处理字符串:
- +可以连接字符串,例如"abc" + "def"得到abcdef
- *可以重复字符串次数,例如"a"*3得到"aaa","ab"*3得到"ababab"
其它数学运算方法
除了上面的基础算术运算符,还支持很多数值类型的运算符,例如:取反(~)、位移(>>)、位与(&)、位异或(^)、逻辑与(and)、逻辑或(or)。
除此之外,还有几个python的内置数学函数:
1 2 3 4 5 6 7 8 9 pow():求幂,如pow(2,3)=8 abs():求绝对值,如abs(-3)=3 round():四舍五入,如round(3.5)=4 int():取整(截去小数部分),如int(3.5)=3 float():转换成浮点数,如float(3)=3.0 oct():十进制整数转换成八进制 hex():十进制整数转换成十六进制整数 bin():十进制整数转换成二进制 ...等等...
还有专门的数学模块math、取随机数的模块random等。
觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!