文章目录
python的数字类型
python数字类型的完整工具包括:
- 整数和浮点数
- 复数
- 固定精度的十进制数
- 有理分数
- 集合
- 布尔类型
- 无穷的整数精度
- 各种数字内置函数和模块
数字常量
数字 | 常量 |
---|---|
123,-24,0,9999 | 整数(无穷大小) |
1.23,1., 3.14e-10, 4E21, 4.0e+22 | 浮点数 |
0o199, 0x9acf,0b101011 | 八进制、十六进制和二进制 |
3+4j,3.0+4.0j,3J | 复数常量 |
内置数学工具和扩展
一些处理数字对象的工具:
- 表达式操作符:
+,-,*,/,>>,** ,&等 - 内置数学函数
pow,abs,round,int,hex,bin等 - 公用模块
random,math等
python表达式操作符
操作符的优先级
在上表中,越靠后的操作符,其优先级越高
括号分组方法
使用括号分组,来达到强制优先的结果
实际应用中的数字
变量和基本的表达式
变量就是简单的名字,可以用来记录程序中的信息。
- 变量在它第一次赋值时创建。
- 变量在表达式中使用将被替换为他们的值。
- 变量在表达式中使用以前必须已赋值。
- 变量像对象一样不需要在一开始进行声明。
如下,赋值会自动生成变量a,b
在交互模式下运行,结果会立刻显示
>>> a = 3 # name created
>>> b = 4
>>> a + 1, a - 1
(4, 2)
>>> b * 3, b/2
(12, 2.0)
>>> a % 2, b**2
(1, 16)
>>> 2 + 4.0, 2.0 ** b
(6.0, 16.0)
使用一个从未被赋值的变量,python会报错,而不会给一个默认的值:
>>> c ** 2
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
c ** 2
NameError: name 'c' is not defined
操作符分组&类型转换
>>> b/2 + a
5.0
>>> b / (2.0 + a) # 这里计算的是4除以6.0,结果不是取整,而是得到一个浮点数
0.8
>>>
除法:Floor除法和真除法
真除法:数学类型除法。整数相除时保留一位小数,浮点数相除,取多位。
Floor除法:取整除法。有浮点数时,保留一位0。
>>> 1/2
0.5
>>> 1//2
0
>>> 4/2
2.0
>>> 2.22222/1
2.22222
>>> 2.222/2
1.111
>>> 10.232//3
3.0
>>> 10//3
3
>>>
Floor除法是向下截断的,对于负数也一样
>>> import math
>>> math.floor(2.5)
2
>>> math.floor(-2.5)
-3
>>> 5//-2.0
-3.0
不论正负,直接取整的方法
>>> math.trunc(-2.5)
-2
>>> math.trunc(5/-2.0)
-2