Python支持整数和浮点数,我们可以对数字做如下运算
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 3+2 | 5 |
- | 减 | 30-5 | 25 |
* | 乘 | 3*6 | 18 |
/ | 支持浮点除法 | 8/2 | 4.0 |
// | 整数除法 | 7/2 | 3 |
% | 模(取余数) | 7%4 | 3 |
** | 幂 | 2**3 | 8 |
除数为0时,会报异常:
>>>3/0 Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> 3/0ZeroDivisionError: division by zero
使用divmod()函数同时得到商和余数:
>>>divmod(13,3)得到(4, 1)
整数进制
Python中,除10进制,还有另外3种进制:
- 2进制:0b或0B,二进制 0 1
- 8进制:0o或0O,八进制 0 1 2 3 4 5 6 7
- 16进制:0x或0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f
这三种进制可以非常方便的进行”位运算“操作。
>>>1212>>>0b1015>>>0o19SyntaxError: invalid digit '9' in octal literal>>>0o108>>>0xff255
使用int()实现类型转换
- 浮点直接舍去小数部分。如:int(9.9) 结果是:9
- 布尔值True转成1, False转换成0。如:int(True)结果是:1
- 字符串必须符合整数格式如:”123”,则转换成对应整数,否则报错
自动转型
整数与浮点数混合运算时,结果自动转换成浮点数。比如:2+9.0的结果是11.0
整数可以多大?
Python2中, int是32位。Long类型是64位
Python3中,int可以存储任意大小的整数,long被取消。可以储存下面的值
>>>a=10**100>>>print(a)10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Python3中可以做超大数计算,不会造成整数溢出,适合科学计算。
浮点数?
浮点数,称为float
浮点数用a×b²形式的科学计数法表示。比如:3.14,表示成:314E-2或者314e-2。 314*10(-2次方)
这些数字在内存中也是按照科学计数法存储。
类型转换和四舍五入
类似于int(),我们也可以使用float()将其他类型转化成浮点数。
整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.0
round(value)可以返回四舍五入的值
注:但不会改变原有值,而是产生新的值